gpt4 book ai didi

c++ - 仅在 Visual Studio 之外运行 EXE 时才会出现发布错误

转载 作者:搜寻专家 更新时间:2023-10-31 01:47:28 24 4
gpt4 key购买 nike

我有一个问题,我正在尝试调试,只有当我运行直接在 Visual Studio 外部构建的发布 exe 时才会发生。当我从 Visual Studio 中执行它时,程序运行正常,即使使用特定的项目属性来调试“发布”构建,例如打开优化,在下一页中解释。

http://msdn.microsoft.com/en-us/library/fsk896zz%28v=vs.100%29.aspx

我在使用这些设置和使用 VS 运行/调试时没有遇到任何问题,但是当我将 exe 和所需文件(图像和一些 dll)复制到它自己的目录并直接运行 exe 而不是通过 VS2010 时,我遇到了一些问题错误。这使得调试变得困难,因为无论我使用什么设置,我都无法在 VS 内部出现问题。

我是否遗漏了一些设置,或者还有更多在 VS2010 之外发生的不同的事情我无法从 VS 2010 中模拟?

我没有使用任何可能影响它的参数或环境变量,工作目录中的文件结构与源代码目录中的文件结构相同。

编辑:通过使用此处的信息附加到 exe 来找到错误(未初始化的变量): Release build changes behavior when run outside of the debugger

最佳答案

Visual C++ 的调试器可以附加到已经运行的进程。 (调试 -> 附加到进程。)您可以尝试使用它在 Visual Studio 之外启动您的 exe,然后附加到它并调试错误。作为执行此操作的另一种方法,正如@Hans Passant 建议的那样,您还可以将 __debugbreak(); 添加到您的进程中,以强制 Windows 在您运行它时提供调试提示并附加 Visual Studio 调试器方式。

我很想使用 Process Monitor比较调试器内部和外部 exe 的执行,看看它们是否真的在文件访问、DLL 加载等方面做同样的事情。

参见 this question对于类似的问题。

关于c++ - 仅在 Visual Studio 之外运行 EXE 时才会出现发布错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19149695/

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