我正在用 C++ 和 Lua 编写程序。当我在调试器外部以发布模式运行程序时,程序的行为不符合预期(它没有崩溃,只是没有按照我的想法执行)。当我从调试器启动它时,它表现得很好。
我知道程序在调试器中的运行方式与在调试器之外的方式存在差异(堆差异?一些未初始化的变量?)。是否可以配置调试器,使其以尽可能少的更改运行我的程序的发布版本,所以我可以尝试在调试时解决这个问题?
我正在用 C++ 和 Lua 编写程序。当我在调试器外部以发布模式运行程序时,程序的行为不符合预期(它没有崩溃,只是没有按照我的想法执行)。当我从调试器启动它时,它表现得很好。
我知道程序在调试器中的运行方式与在调试器之外的方式存在差异(堆差异?一些未初始化的变量?)。是否可以配置调试器,使其以尽可能少的更改运行我的程序的发布版本,所以我可以尝试在调试时解决这个问题?
这里有几件事可以尝试:
不确定是否使调试器像发布版本一样,但您可以在某种程度上模拟它们。
取决于行为上的差异到底是什么。
所有变量都初始化了吗?调试器会这样做。您还可以使用 asm { int 3 } 来中断发布模式。