在 Visual Studio 2008 上设置预调试事件

Set a pre debug event on Visual Studio 2008

本文关键字:调试 事件 设置 Visual Studio 2008      更新时间:2023-10-16

我想在开始在Visual Studio中调试程序之前运行一个任务。每次调试程序时都需要运行此任务,因此生成后事件不够好。

我已经查看了设置的"调试"选项卡,但没有这样的选项。

有什么办法可以做到这一点吗?

您唯一可以尝试的(IMO)是试验项目属性"调试"页面中的命令属性,但我认为不起作用。

编辑:如果你想启动一个批处理文件,像这样做,

yourbatch.bat $(targetPath)

而在你的批处理中.bat你可以这样称呼你的程序,

call %1 %2 %3 %4 %5 %6 %7 %8 %9

其中 %2 ... %3 表示可能的程序参数(由 IDE 提供)

我唯一想知道您的程序是否会直接调试(我认为您可能需要在 IDE 中手动附加到它)

将预构建步骤添加到"调试"版本的编译选项中,并且不要将其包含在"发布"版本中。(编辑:预生成步骤在项目属性的"生成事件"部分中设置)

如果您正在谈论代码中的函数或某些内容,请使用预编译器标志。例如,在您的调试版本中,您可能有"_DEBUG"或类似于编译器标志的东西......所以在代码中你可以做

#ifdef _DEBUG
doMySpecialTask();
#endif

并且只有在使用调试版本时才会调用它。

编辑:从下面的评论中向上移动信息:若要在运行时动态检测调试器,可以在 Windows 中使用 IsDebuggerPresent() 函数。Mac 也有一个 AmIBeingDebugged() .如果您希望程序在调试时以不同的方式运行,这将非常有用,但除非没有其他选项有用,否则我不建议这样做。在调试时修改程序的行为可能会导致问题消失,或以不同的方式表现出来。