【问题标题】:Is it possible to start an external program from the target directory when debugging?调试时是否可以从目标目录启动外部程序?
【发布时间】:2009-09-24 20:00:01
【问题描述】:

调试时我需要从构建的目标目录启动一个外部程序,我想知道是否可以使用相对路径来完成。

作为构建后事件,我有以下内容:

IF NOT "$(ConfigurationName)"=="Debug" GOTO End :复制可执行文件 复制 "$(SolutionDir)\Source\Lib\MyExecutable.exe" "$(TargetDir)" :结尾

我需要在调试时运行 MyExecutable.exe,因此在项目属性的调试选项卡中,我将“启动外部程序”设置为 MyExecutable.exe,但在运行调试时失败。看来我需要为此工作的完整路径。

有没有办法使用相对路径来做到这一点?

【问题讨论】:

  • 对于还有这个问题的人;见thisthis 评论。

标签: visual-studio debugging


【解决方案1】:

“启动外部程序”路径与您的解决方案目录相关(无论如何在 VS2005 中)。所以你可以说:

Source\Lib\MyExecutable.exe

我看到你刚才问过这个问题,但我遇到了同样的问题,这就是我解决的方法。

【讨论】:

  • 对我来说,我这样做了,而且效果很好。但是后来我在另一天重新打开了解决方案,现在它说找不到文件。该设置与之前的设置完全相同(解决方案相关,单个子文件夹),并且文件在那里。有人遇到过这个问题吗?此后没有任何文件、文件夹或路径被更改(由 Git 跟踪)。
  • @Michael,作为更新,我删除了 .vs 子文件夹(在解决方案文件夹中),重新打开解决方案后它工作得很好。也许 Visual Studio 缓存了一些错误的东西。
【解决方案2】:

(_免责声明:所有方向均基于VS08。之前或将来的版本中的东西可能在不同的地方)

我觉得您的其他程序不是您需要在调试之前运行的构建后步骤,而是一个还需要运行(服务器或其他东西)的程序你调试。

使用一个空的 C++ Make-File 项目(你可以使用其他项目类型,但是这个默认不实际构建,所以我觉得它是最简单的),并改变它的启动属性(Project/Properties ->调试)来运行您的其他应用程序。然后,将您的解决方案设置为启动多个项目(解决方案/属性 -> 通用属性 -> 启动项目)。

【讨论】:

    【解决方案3】:

    您是否尝试过类似 $(TargetDir)\..\Lib 的方法?

    【讨论】:

    • 启动程序路径不能使用$(TargetDir)
    猜你喜欢
    • 2014-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 2021-01-10
    • 2014-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多