在Visual Studio 2017下无法使用或不使用调试器运行CMake可执行文件:“访问被拒绝。”

时间:2018-05-04 21:52:56

标签: windows visual-studio cmake

我正在尝试在Visual Studio 2017的调试器下运行使用CMake生成的解决方案文件构建的程序,以便调试问题。但是,每当我尝试选择Start DebuggingStart Without Debugging时,我都会弹出以下错误。

  

无法启动程序   “E:\建立\ someprogram \建立\ 64 \调试\ ALL_BUILD

     

访问被拒绝。

乍一看,这个问题听起来像是here所描述的问题。然而,该错误据称在VS 2017 15.5中被修复,我目前使用15.6.7。并且已编译的可执行文件的位置不在RAM磁盘或网络驱动器上,而是在物理驱动器上。并且在没有调试器的情况下运行时会发生错误。

此外,我想知道可执行文件是否未正确配置,因为看起来错误与ALL_BUILD目标有关,但在我的CMakeLists.txt我有这个声明:

add_executable(someproject ${SOURCE_FILES})

我认为会添加可运行的可执行文件。它也在解决方案资源管理器中显示为子项目。

编译好的.exe在Visual Studio之外运行很好,虽然它崩溃了,我正在尝试调试。奇怪的是,我不能从崩溃后出现的Abort/Retry/Ignore对话框中输入Visual Studio调试器,只需单击它指示的Retry;选择Visual Studio版本的窗口永远不会出现。

它似乎不是权限问题,因为我手动调整了具有所有权限的所有构建目录的权限,没有任何更改。我也使用管理员权限运行Visual Studio,它没有任何区别。另外,我在完全不同的机器上复制了构建过程(Windows 10,而不是Windows 7),并且发生了完全相同的错误,所以我怀疑这是一个CMake问题。

1 个答案:

答案 0 :(得分:1)

您需要将另一个项目设置为启动项目(右键单击目标可执行项目df.replace("@$", "", regex=True) 并从上下文菜单中选择"someproject")。 "Set as StartUp Project"是符号目标,未连接到可执行文件。