gpt4 book ai didi

c++ - app.exe已经触发了断点,后面是Access violation writing location

转载 作者:行者123 更新时间:2023-11-30 03:03:08 24 4
gpt4 key购买 nike

我有一个带有庞大代码库的 Qt c++ 应用程序。我对架构有点熟悉,但我不太了解代码。每次关闭应用程序时,它都会显示消息“app.exe 已触发断点”,如果我点击继续,我会得到

"Unhandled exception at 0x6701c95d (QtCored4.dll) in app.exe: 0xC0000005: Access violation writing location 0x0c3e9fd8."

堆栈跟踪看起来像这样

enter image description here

我连接了 App Verifier 并将其转储到输出窗口

===========================================================
VERIFIER STOP 0000000000000013: pid 0x2654: first chance access violation for current stack trace

000000000C3E9FD8 : Invalid address being accessed
000000006701C95D : Code performing invalid access
000000000008EB40 : Exception record. Use .exr to display it.
000000000008E650 : Context record. Use .cxr to display it.
===========================================================
This verifier stop is continuable.
After debugging it use `go' to continue.
===========================================================

我的问题是,如何尝试调试以找出导致此问题的原因?我在非托管编程领域没有太多经验,我完全迷路了。任何帮助将不胜感激。

最佳答案

很可能您遇到了由缓冲区溢出等原因引起的内存损坏,或者双重删除了悬空指针。正如 Bart 指出的那样,如果您没有意识到 QObject 的父级拥有它的所有权,那么在调用 Qt 代码时可能会发生这种情况。您已经在使用 App Verifier,但我也会尝试从 Windows 调试工具运行 gflags 并启用 Page Heap debugging因为这可能有助于定位问题。

关于c++ - app.exe已经触发了断点,后面是Access violation writing location,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9610135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com