我有一个程序在运行“发布”版本时崩溃(试图读取错误的内存地址),但在 Visual Studio 调试器中运行“调试”版本时未报告任何问题。
当程序崩溃时,操作系统会询问我是否要打开调试器,如果我说"is",那么我会看到一个箭头指向我在一些汇编器列表中的位置,但我不够熟练,无法阅读该列表正确(我 30 年前学过 6502 汇编程序)。有什么方法可以让我确定源代码中有问题的内存读取位于何处?
最佳答案
您需要在启用调试信息的情况下构建程序(甚至可以在发布版本中执行此操作),并且调试器必须可以访问该调试信息(*.pdb 文件)(只需将其复制到可执行文件旁边)。
VS 应该能够向您显示源代码、堆栈和其他所有内容。
关于c++ - 如何查找程序崩溃的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2881184/