Debugging 代码不';无法在调试中工作 我编码了一个C++大项目,当我在调试或发布模式下打开它时,它运行,但是当我打开它时,没有调试(CTRL+F5),它在5秒后崩溃。它只是不再回复,并在taskmanager中标记为不活动。我试图用windows调试器工具和应用程序验证程序分析错误,但什么也没发现。即使我设置了“\u NO\u DEBUG\u HEAP=1”,错误也不会发生,只是在我使用ctrl+f5或从visual studio外部启动它时才会发生。我甚至不确定“不调试”堆是否有效。。。有人知道什么地方出了问题吗?
可能是多种原因造成的 根据我过去的经验,我建议通过删除代码直到行为消失来解决这个问题。。。然后确定删除相关代码的原因纠正了行为。(删除的代码可能不是原因,只是症状的催化剂) 如果让我快速浏览一下以发现错误,我会考虑查找与缓冲区溢出相关的问题。这种类型的错误在调试中比执行最终生成有更多的保护措施。这只是一个暗箭伤人的想法,因为缓冲区溢出是一个常见的问题,有点符合症状Debugging 代码不';无法在调试中工作 我编码了一个C++大项目,当我在调试或发布模式下打开它时,它运行,但是当我打开它时,没有调试(CTRL+F5),它在5秒后崩溃。它只是不再回复,并在taskmanager中标记为不活动。我试图用windows调试器工具和应用程序验证程序分析错误,但什么也没发现。即使我设置了“\u NO\u DEBUG\u HEAP=1”,错误也不会发生,只是在我使用ctrl+f5或从visual studio外部启动它时才会发生。我甚至不确定“不调试”堆是否有效。。。有人知道什么地方出了问题吗?,debugging,visual-c++,visual-studio-debugging,Debugging,Visual C++,Visual Studio Debugging,可能是多种原因造成的 根据我过去的经验,我建议通过删除代码直到行为消失来解决这个问题。。。然后确定删除相关代码的原因纠正了行为。(删除的代码可能不是原因,只是症状的催化剂) 如果让我快速浏览一下以发现错误,我会考虑查找与缓冲区溢出相关的问题。这种类型的错误在调试中比执行最终生成有更多的保护措施。这只是一个暗箭伤人的想法,因为缓冲区溢出是一个常见的问题,有点符合症状 -dm检查的常见事项: 您确定您的应用程序正在将任何内存设置为零, 如果它假设内存必须清零 Visual Studio可能正在初始化
-dm检查的常见事项: 您确定您的应用程序正在将任何内存设置为零, 如果它假设内存必须清零 Visual Studio可能正在初始化给定给的内存 应用程序 是否所有分配的内存都被释放 是否没有使用未初始化的指针 是否没有使用未初始化的变量 问题是否只发生在一台计算机上 您可以使用check_heap检查堆的有效性 在节目中: 您可以使用Windows调试工具来显示堆 腐败-有一个叫做“gflags”的工具随附 Microsoft“Windows独立调试工具” 此URL显示如何对.EXE运行gflags:
您希望
\u NO\u DEBUG\u HEAP
做什么?您是否尝试将调试器附加到进程以查看其位置?“不再回复”是什么意思?