c++ - 如何查找程序崩溃的位置

标签 c++ visual-studio-2008 multithreading debugging windows-xp

我有一个程序在运行“发布”版本时崩溃(试图读取错误的内存地址),但在 Visual Studio 调试器中运行“调试”版本时未报告任何问题。

当程序崩溃时,操作系统会询问我是否要打开调试器,如果我说"is",那么我会看到一个箭头指向我在一些汇编器列表中的位置,但我不够熟练,无法阅读该列表正确(我 30 年前学过 6502 汇编程序)。有什么方法可以让我确定源代码中有问题的内存读取位于何处?

最佳答案

您需要在启用调试信息的情况下构建程序(甚至可以在发布版本中执行此操作),并且调试器必须可以访问该调试信息(*.pdb 文件)(只需将其复制到可执行文件旁边)。
VS 应该能够向您显示源代码、堆栈和其他所有内容。

关于c++ - 如何查找程序崩溃的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2881184/

相关文章:

c++ - std::map< MyClass, std::vector<MyClass>> 段错误。古怪

python - 为 Python 2.7 构建/安装 C 模块时出错

visual-studio - 在Visual Studio中,“停止调试”和“全部终止”有什么区别?

java - 为什么所有线程都获得了锁?

java - AsyncTask 一段时间后停止

c++ - 没有 .NET 框架的 GUI 简单快捷?

c++ - 如何连接一个字符串和一个整数来生成文件名?

c++ - bazel alwayslink = true 是什么意思?

c# - C# 单元测试简介

java - 为什么创建更多线程时总运行时间比创建更少线程时更慢