2017-10-14 79 views
-3

我有一个错误说“堆腐蚀检测”,所以我想知道如何获得所有程序的内存位置。如何跟踪visual studio 2017(C++)中的内存使用情况?

the error

+0

我不是很清楚你想让这个工具告诉你什么。你想知道你的程序访问的内存位置,或想要写入该内存段的代码行吗? 此外,在图像链接前加一个感叹号('!'),直接嵌入到问题中,例如'![alt text] [1]' –

+4

[如何诊断堆损坏错误Windows?](https://stackoverflow.com/questions/30413066/how-do-i-diagnose-heap-corruption-errors-on-windows) – user0042

+0

SmartBear AQTime是一个非常好的分析工具。 – user0042

回答

0

如果程序是始终分配#150可靠的,那么你可以调用_CrtSetBreakAlloc(150)对150的分配中断。或者,您可以通过调用_CrtSetDbgFlag( _CRTDBG_CHECK_ALWAYS_DF)来打开对所有分配和释放的堆检查,从而减慢程序运行速度,并使调试堆在报告问题时更加准确。

最后,您可以使用Application Verifier来发布产品版本以查找问题。应用程序验证器下载是Microsoft : here

相关问题