在 Visual Studio 2008 上设置预调试事件
Set a pre debug event on Visual Studio 2008
我想在开始在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()
.如果您希望程序在调试时以不同的方式运行,这将非常有用,但除非没有其他选项有用,否则我不建议这样做。在调试时修改程序的行为可能会导致问题消失,或以不同的方式表现出来。
相关文章:
- 当回溯以零开始时,如何调试崩溃
- Android NDK传感器向事件队列报告奇怪的间隔
- 在linux上调试巨大的C++项目
- 从文本文件中读取时钟时间和事件时间并进行处理
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- WMI检测进程创建事件-c++
- 如何针对特定情况调试和修复此双自由内存损坏问题
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 正在VS调试器中监视映射条目
- 使用调试/崩溃报告将应用程序部署到客户端
- VC++本机单元测试,找不到调试符号
- 如何在C++生成器中禁用"使用调试.dcus"
- 处理闪烁窗口事件
- C++Builder中的OnClick事件签名存在问题
- 跟踪滚动条上的鼠标事件
- 离散事件仿真算法调试
- 如何调试是否设置了 Windows 事件对象
- 在Visual Studio中按下"停止调试"按钮时拦截信号/事件
- c#调试器从本地DLL拦截WriteConsole事件
- OLEDragDrop事件与编译的exe一起工作,但在调试时不工作