gpt4 book ai didi

java - 无法从Java程序中调用外部可执行文件令人困惑

转载 作者:可可西里 更新时间:2023-11-01 09:26:55 25 4
gpt4 key购买 nike

好吧,我遇到了一个使bejeebus迷惑不解的错误。我正在寻找有关可以进行调查的想法,因为现在,我什么都没有。它是这样的:

我有一个独立的Java应用程序,有时需要调整它运行的计算机(WinXP计算机)的Line-In量。它通过调用一对可以获取和设置各种组件卷的外部可执行文件(用VB6 *编写)来实现。 (他们可以处理Line-In,Mic,Wave,CD和主音量控制。)

现场有数百台设备,在我公司提供和控制的硬件(戴尔计算机)上运行。至少有几十个客户端正在使用此功能,并且除一个实异常(exception),它运行完美。

对于这台制造麻烦的机器,它根本不起作用。当应用程序运行时,我会看着音量滑块,当音量应该降低时,它们会保持原状。当我检查应用程序的日志文件时,它不会引发任何错误,并且似乎正在执行降低音量的代码。当我从命令行运行可执行文件时,它们运行良好。

我不能保证这台机器与所有运行正常的机器100%相同,但是我们已经购买同一系列的戴尔已有相当一段时间了。至少,它非常相似。

因此,将我的困惑变成了项目符号列表:

  • 如果我在Java代码中做一些愚蠢的事情(即不清除我的STDOUT/STDERR缓冲区),为什么这只是这台机器上的问题?
  • 如果VB6可执行文件有问题,为什么它们从命令行在该计算机上的每台其他机器上都能正常工作?
  • 如果这台机器上存在某种硬件怪异,当从Java应用程序中调用时,哪种怪异性可能导致音量控制可执行文件仅使失败,使失败。

  • 我很困扰。我不喜欢困惑。有人有什么建议可以启发我吗?**

    -*-我知道,VB6,1998年打过电话,他们想让过时的专有Bug生成器返回,等等。这不是我的决定。但是代码有效。通常。

    -**-在这里插入佛教笑话。

    更新编辑:客户服务可能已发现问题;这可能与数据库中的客户端配置设置有关。新证据表明,针对该客户端的某些配置错误或我的软件对特定配置做出了愚蠢的响应。由于这个特殊功能没有我想象的那么普遍,这个问题可能比我们想象的更为广泛。

    回应评论:
  • 调试器:从理论上讲是可能的,但考虑到我们的设置,这似乎令人头疼。
  • Java,高级日志记录:好主意,尤其是给出的问题可能比我最初认为的还要广泛。是时候开始回顾一些假设了。并可能将它们合并。像海豹一样。
  • 高详细日志记录,VB6:一种可能性;由于我的VB6-fu太弱了,我不知道如何将文本输出到文件中,因此将需要进入高详细度的Java日志记录以捕获输出。但是,是的,知道脚本是否被调用很有值(value)。
  • 窗口事件查看器:不熟悉此工具。可能必须纠正。
  • PATH问题:不太可能; Java代码构造了一个指向可执行文件的相对路径,该路径看起来并不依赖于任何环境变量。

  • 我感谢人们提供的建议;至少,您已经让我的大脑朝着充满希望的方向前进。

    解决方案编辑:而胜利者是……那不是Bug,而是功能!某个功能严重错误,严重错误。现在将不再使用此功能,以免打扰我们。

    一系列无效的假设使我无法尽快看到它,其中最重要的一点是“我不需要使用更多的调试语句来处理代码-已有的语句告诉我我需要知道的所有信息!” DaDaDom,如果您想将您的评论变成答案,则其中有一个醒目的复选标记。

    感谢所有提出建议的人。现在,请原谅,我迟到了要和我的办公桌开会。

    最佳答案

    答案如下:
    您可以使用冗长的日志记录来创建该软件的版本,还是可以调试代码?至少您可以分辨出它是在Java还是VB部分中。

    关于java - 无法从Java程序中调用外部可执行文件令人困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2156155/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com