gpt4 book ai didi

vb6 - 如何调试 VB6 崩溃?

转载 作者:行者123 更新时间:2023-12-02 04:41:04 25 4
gpt4 key购买 nike

我有一个应用程序,一旦编译就可以完美运行。但是,如果我在 VB6 环境中启动它,它会不断且相当随机地使 IDE 崩溃,但只有当我对应用程序执行操作时(例如,将鼠标移到其上、单击某物、移动窗口等...)

该应用程序做了很多与 VB6 无关的事情:SIP、虚拟声卡接口(interface)、音频编码/解码等...所以可能是这样,但崩溃似乎是随机的。

崩溃总是发生在 vba6.dll 模块中(至少崩溃对话框是这么说的)。鉴于MS不再支持VB6,我该如何调试它?

我在XP和Win7上尝试过,结果相同。

最佳答案

某些 API/DLL 函数很可能与 VB IDE 不兼容。我们有时会为 IDE 和 EXE 编写不同的代码,因此我们的 Windows 子类化和 API 绘图函数也位于另一个 dll(或 ocx)中以避免崩溃。此外,我们在软件中使用了 GPF 处理程序(SetUnhandledExceptionFilter 和相关 API 函数),但这仅在 EXE 中打开 - 无论如何在 IDE 中不起作用。我们的 GPF 大部分出现在 EXE 中:)

为了调试,您可以排除一些代码路径,特别是与 Windows 消息传递/子类化、全局 Hook 、绘图和 API 回调相关的代码路径。你可以安装一些更好的调试器(甚至VC也可以使用)来查看调用堆栈 - 有时这包括系统函数名称,暗示错误的操作。

关于vb6 - 如何调试 VB6 崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6288247/

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