在Visual Studio中更好地调试
Better debugging in Visual Studio?
我有一个具有数千行代码行的程序,该程序在从Visual Studio中运行时会执行正常。但是,当我从Windows Explorer运行相同的调试可执行文件时,它给我一个"调试断言失败"错误,说Vector subscript超出了范围。线号在std::vector
中,但我知道那不是真正的问题。
这不是我可以设置停止点来查看呼叫堆栈,因为我不知道在哪里停止它。另外,Visual Studio无论如何都不会吸引它。我有15,000行的代码,上面有数十个向量。我必须有一种方法可以配置Visual Studio或编译器从GUI运行时更多地询问程序以捕获该程序。我处于调试知识的极限,教我,明智!
我跑了依赖性沃克。有一些错误,但我认为这没有相关性。以防万一,这就是出现的:http://screencast.com/t/q3moprvh
最佳选择可能是在调试断言失败时分解您的代码。在Windows中,这称为" Just-time(JIT)调试"。要将Visual Studio用于此目的,您必须正确配置它。如果此MSDN文档对您没有帮助,请尝试根据本指南直接编辑Windows注册表。Visual Studio的注册表值类似于
"C:windowssystem32vsjitdebugger.exe" -p %ld -e %ld
查看非专业化变量的代码后,我建议您添加一些打印语句,以查看其崩溃之前的位置。
多次,这些错误归因于非初始化的变量。
相关文章:
- C++:将控制台输出存储在宏中更好吗
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 初始化具有非默认构造函数的std::数组项的更好方法
- 有没有比在库中添加一个并非由所有派生类实现的新虚拟函数更好的设计实践
- 为什么新的随机库比std::rand()更好
- 寻找一种更好的方法来表示无符号字符数组
- 哪种方法更好,性能明智
- 什么更好?返回对象指针列表?或返回指向对象列表的指针?
- 什么是更好的做法?通过指针或标识符传递类成员?
- 寻求更好地理解标准::访问
- 线程消息传递或更好:在"大师班"中访问其他班级的成员
- 有没有更好的方法来处理异常? try-catch块真的很丑
- 如何更好地检查两个 char 变量是否在一组值中?
- 更好的文本UI调试C++器,如python的pudb
- Boost tread 代码在 VC++ 下编译,但不在 GCC 下编译:如何获得更好的调试信息
- 哪个版本(调试/发行 - 未取代/优化)更好地研究C 与组件进行比较
- 执行调试日志记录的更好方法
- 在Visual Studio中更好地调试
- 在C++中取消调试函数的更好方法
- 编译Qt应用程序以获得更好的调试信息(Linux)