调试无法启动的程序

Pro*_*ofK 3 vb6 debugging

我如何确定VB6(或5)应用程序无法启动的原因?因此,我无法附加调试器.我可以使用IDA Pro免费软件,但需要一些指示,从哪里开始.

我没有这个程序的源代码,只有.exe.当我说它没有启动时,我双击.exe,没有任何反应 - 没有进程继续运行 - nadda.

在admin下运行它会创建三个空文件夹,然后在显示UI之前以静默方式退出.OllyDbg告诉我有一个'不精确的浮点结果',但我需要花几个小时或几天学习解释OllyDbg给我的所有信息.我的高级Windows调试书也应该在周一或周二到.

Jar*_*Par 12

你是说程序启动但崩溃才能附加?如果是这样,请尝试在调试器下启动该程序.

在Visual Studio中,您可以通过转到

  • 文件 - >打开项目
  • 选择有问题的EXE
  • 点击F5


jac*_*jac 11

好像我回答了很多问题,但请尝试查看Windows事件日志.这里经常有一些有用的信息,例如控件,或者你的程序依赖于未找到的dll.


mj2*_*008 9

首先,查看Dependency Walker,它将告诉您是否缺少应用程序所需的DLL.

其次,可执行文件的名称是什么?尝试将其重命名为MYDUMMY.EXE并再次运行它.有些名称不起作用,因为它们已在使用中.我曾经帮助过一位新的程序员,他一直试图让他的第一个应用程序运行两周.它被称为DISPLAY.EXE,它已经是一个Windows模块,所以它不会加载.


X-I*_*nce 5

您是否尝试在cmd shell中运行它以查看它是否将任何数据返回到控制台?是否创建了任何日志文件?

即使你没有连接调试器,因为程序没有启动,你可以从调试器中启动它,OllyDbg将允许你这样做,任何其他值得他们的调试器也是如此.之后,您可以尝试调试代码首先没有启动的原因.


dla*_*lin 5

我会使用SysInternals Process Monitor,特别是遵循“不明原因研讨会视频案例”中的一些建议。

在您启动它之前开始监控(一切),然后在您觉得它完成错误时停止监控,这应该在几秒钟内。然后,您将获得所有流程中发生的所有事件的详细日志。您可以搜索您的进程名称,并找到不成功的,例如可能没有权限,或者从系统收到一些其他投诉,但它没有向用户报告,因为您没有在通用错误陷阱中编码一个对话框。好吧,也许即使您拥有它,由于某种原因它也无法显示对话框。进程监控日志会告诉你。

这就像自动日志记录,无需在一堆日志记录中编码。