在VB6中获取堆栈跟踪
Getting the stack trace in VB6
并非孤注一掷,但我在CodePlex上发现了一个名为StackWalker的项目,它为本机应用程序(C++应用程序)提供堆栈跟踪。对现代C++不太了解,这对VB6应用程序也适用吗?VB6函数与C++中的函数有什么不同吗?
这首先取决于如何构建vb6应用程序。Project+属性,"编译"选项卡。确保选中"编译为本机代码"单选按钮。如果选中"创建符号调试信息"选项,该工具需要PDB来提供有用的堆栈跟踪。请注意,当您从IDE运行代码时,它不会很好地工作,因为IDE总是根据p代码构建的。
更困难的问题是调试VB6虚拟机msvbvm60.dll的信息。您运行的大多数代码都会通过此支持DLL,即使是在构建为本机代码时也是如此。您所需的PDB在Microsoft符号服务器上不再可用。不知道为什么,可能是因为它真的是一匹死马。
相关文章:
- 用于解析 win64 堆栈跟踪的命令行客户端(可以访问符号服务器)
- 提升堆栈跟踪不显示函数名称和行号
- cygwin_exception::open_stackdumpfile:将堆栈跟踪转储到 class4.exe.sta
- 如何按指针查看堆栈跟踪
- WinDbg 不显示某些小型转储文件的完整堆栈跟踪
- 发布代码的 gdb 堆栈跟踪可读性如何影响 x64?
- 提升::堆栈跟踪::safe_dump_to输出大小
- Qt 5.9中的QML崩溃-帮助读取堆栈跟踪
- 如何获取崩溃的DLL的堆栈跟踪?
- 当外部源代码中发生异常时,无法正确使用自创建的小型转储文件的堆栈跟踪
- 在 Linux 平台上以 C/C++ 打印进程的所有线程堆栈跟踪
- Boost 堆栈跟踪异步信号安全吗?
- 使用 gdb 时无法获取堆栈跟踪
- VC++ 堆栈跟踪不会解析生产环境中的函数名称
- 从堆栈跟踪中查找共享库中的源代码行
- 捕获异常后的堆栈跟踪
- 是否有一种便携式/标准的方法可以在堆栈跟踪中获取文件名和亚麻布
- 为什么谷歌测试不打印堆栈跟踪或文件名
- 在明夫中打印堆栈跟踪
- GDB 显示奇怪的堆栈跟踪