Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Visual Studio代码C+中设置断点时出错+;调试器 直到上周我才能够在VSCode中的C++代码中找到断点。自从前两天我尝试将调试器附加到远程进程时,断点变灰_C++_Visual Studio Code_Vscode Debugger - Fatal编程技术网

在Visual Studio代码C+中设置断点时出错+;调试器 直到上周我才能够在VSCode中的C++代码中找到断点。自从前两天我尝试将调试器附加到远程进程时,断点变灰

在Visual Studio代码C+中设置断点时出错+;调试器 直到上周我才能够在VSCode中的C++代码中找到断点。自从前两天我尝试将调试器附加到远程进程时,断点变灰,c++,visual-studio-code,vscode-debugger,C++,Visual Studio Code,Vscode Debugger,将鼠标指针置于灰显断点上时,消息显示: 设置断点时出错。调试引擎引发了异常 ,如下图所示: 我的launch.json如下所示: { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fw

将鼠标指针置于灰显断点上时,消息显示:

设置断点时出错。调试引擎引发了异常

,如下图所示:


我的
launch.json
如下所示:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "prgAttach",
            "type": "cppdbg",
            "request": "attach",
            "program": "~/JBL/SC-253/bin/azg",
            "processId": "${command:pickProcess}",
            "MIMode": "lldb"
        },
        //Followed by other debug configurations...
    ]
}

我的平台信息是从“代码>关于Visual Studio代码”中获得的:

Version: 1.41.1
Commit: 26076a4de974ead31f97692a0d32f90d735645c0
Date: 2019-12-18T14:57:51.166Z
Electron: 6.1.5
Chrome: 76.0.3809.146
Node.js: 12.4.0
V8: 7.6.303.31-electron.0
OS: Darwin x64 18.7.0

还有谁知道这个问题吗?有什么建议/解决办法吗

我有:

  • 尝试卸载C/C++扩展并重新安装。没有效果
  • 已验证我是否连接到正确的进程
  • 也重新启动了进程,以执行新的附加

    • 这个问题没有真正答案的原因是调试功能是由于您可能添加了一个扩展。无法设置断点,可能是由于该扩展中的某些错误造成的


      解决方法:

      您不需要在Visual Studio代码中使用到目前为止一直使用的调试器。由于IDE受到大量扩展支持,您可以查找并安装另一个调试器,并修改
      launch.json
      以使用新安装

      在编写此答案时,只需在Extensions:Marketplace(Mac键盘快捷键-shiftCommand)的搜索选项卡中键入
      lldb
      ,即可列出您可以安装的七个可能的调试扩展,其中三个与C/C++有关



      无论安装哪个调试扩展,都会有一个快速入门或类似的指南,解释如何修改
      launch.json
      以启用新扩展的调试。删除或注释掉旧调试器的配置条目,以便它不会干扰。

      我感觉您的问题可能与此有关(您没有提供完整的平台信息):

      LLDB本身仍然可以工作,它只是从VS代码中分离出来,但是根据链接,修复正在进行中


      重新生成launch.json并尝试一下也是值得的。

      为什么不尝试从版本控制软件中检查一两周前的代码修订版,看看是否仍然有效?如果是这样的话,那么只需在then和HEAD revision之间进行二等分提交,即可找到破坏您的更改。@JesperJuhl:调试器无法附加到通过套接字接受连接的第一行。尽管如此,我还是尝试了你的建议。调试器在旧代码中的行为也与旧代码相同。值得一试:)您是否检查了调试器输出选项卡(或其他输出选项卡)以查看是否有任何其他信息?远程进程是在同一个系统上还是在不同的系统上(可能防火墙/网络设置发生了更改,阻止了连接)?你有适当的(管理)权限吗?@1201programalam:debugger output选项卡看起来很好,每一行都以“Symbols Loaded”结尾。最后一行有一条警告,但我模糊的记忆告诉我它也出现在前面。最后一行显示-警告:未检测到Debuggee TargetArchitecture,假设为x86_64=已选择线程,id=“1”。我连接的进程在我的机器上。所以没有防火墙问题。特权问题似乎也不太可能。VSCode请求我允许附加,我立即授予了它。