我在我的 C++ 应用程序中看到访问冲突错误。在发生违规时将 Windbg 附加到进程并使用 !analyze 时,我发现访问违规是由于尝试执行不可执行的地址造成的。我知道导致此问题的正在执行的地址。什么可能导致此错误?代码中什么可能的错误会导致这种情况发生?我如何有效地调试它?
最佳答案
C++ 中出现此错误的两个常见原因是 1) 使用未初始化/已删除对象的虚函数和 2) 使用未初始化的函数指针。无论哪种情况,您都会有效地分支到随机地址。由于大多数内存未标记为可执行文件,因此您可能会被“尝试执行不可执行地址”阻止
关于c++ - "Attempt to execute non-executable address"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6895838/