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

时间:2011-05-06 08:55:23

标签: c++ visual-studio visual-studio-2008

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

我查看了设置的“调试”标签,但没有这样的选项。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

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

编辑:如果要启动批处理文件,请按照这样做,

yourbatch.bat $(targetPath)

在yourbatch.bat中你可以这样称呼你这个程序,

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

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

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

答案 1 :(得分:1)

为“debug”构建的编译选项添加预构建步骤,并且在“release”构建中没有它。 (编辑:预构建步骤在项目属性的“构建事件”部分中设置)

如果您正在讨论代码中的函数或其他内容,请使用预编译器标志。例如,在你的Debug版本中,你可能有“_DEBUG”或者类似于编译器标志的东西...所以你可以在代码中做到

#ifdef _DEBUG
doMySpecialTask();
#endif

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

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