我正在Windows中编写一段代码,它使用winapi消息框和一些动态内存用于RS232应用程序
当我在调试模式下运行它时(使用VS2010和步入式调试)并在命令行中将其作为可执行文件运行时,我发现同一个应用程序创建了不同的错误时出现了一种奇怪的情况
在第一种情况下,使用winapi消息框正确弹出错误,程序正确返回/结束。第二种情况,它会产生运行时错误以及内存泄漏
这两种运行模式之间是否存在这种差异?以及如何捕获winapi运行时错误?
提前致谢!
答案 0 :(得分:0)
是的!直接从调试器运行程序,调试堆正在使用中。假设它没有在调试模式下编译。 当调试器加载到进程地址空间时,内存布局会发生变化。所以可能会发生一些奇怪的事情。
如果你有这种奇怪的效果,有时最好将调试器附加到正在运行的进程。