调试Visual Studio c++应用程序并查找导致崩溃的特定函数

Debugging Visual Studio C++ applications and finding specific functions that caused the crash

本文关键字:崩溃 函数 查找 Studio Visual c++ 应用程序 调试      更新时间:2023-10-16

我已经写了一个BSP级渲染器,并解决了所有具体的-这一行导致崩溃-错误。问题是,现在,我得到一些非特定的错误,如:

"Unhandled exception at 0x77318db9 in Lantern.exe: 0xC0000005: Access violation writing location 0x00000014."

当我关闭我的程序时,在Visual Studio中,会弹出一个像_file.c这样的窗口头文件,但它不是特定于错误可能是什么。当加载具有特定类型的BSP地图数据的程序时,我得到其他内存问题。有谁对如何调试这些一般性问题有建议吗?我有一个错误记录器,这样我就可以看到在出现问题之前正确完成了哪些功能,但它并不总是帮助我确定错误。

是否有使用Visual Studio 2010进行错误调试的指南?当遇到类似于我所描述的错误时,您如何调试它们?是否有办法找到导致错误的函数?

谢谢!

看看这个特定的错误,我猜你在某个地方有一个空指针,因为你不太可能在0x00000014附近戳。

在调试器中运行程序,当它出错时,您应该在错误发生的地方,或者能够查看调用堆栈窗口,以便在执行过程中进一步移动,并可能找到错误的地方。如果你正在破坏堆栈,那么它将更难以追踪。

如果您仍然难以解释结果,可以使用# If 0去掉您怀疑可能出错的函数部分,以缩小可能性。

我知道错误是什么了。显然,在使用SDL时,如果链接SDL,应用程序将出现问题。lib和SDLmain。Lib中带有#pragma注释,而不是通过项目设置中的链接器。

可能是他们的代码有bug,不确定。

干杯!