首页 > 解决方案 > 如何使用vscode c++调试器通过gdb将参数传递给程序?

问题描述

我想调试quickjs qjsc哪个接受来自 的参数c++ argv,也希望大家可以根据我的配置调试 quickjs 来学习 javascript 引擎。

但是我无法通过vscode中的gdb调试器将参数传递给程序

这是我的vscodelaunch.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": "qjs-debug main.js",
      "type": "cppdbg",
      "request": "launch",
      "program": "${workspaceRoot}/qjs-debug",
      "args": [
        "-I",
        "${workspaceFolder}/debugger/main.js"
      ],
      "stopAtEntry": true,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "logging": {"engineLogging": true},
      "preLaunchTask": "gcc build active file",
      "miDebuggerPath": "/usr/bin/gdb",
      "miDebuggerArgs": "--args"
    }
  ]
}

当我开始调试时,我看到 argv 只有一个/

在此处输入图像描述

一些anwsers说argslaunch.json传递给gdb,你应该使用--args

但我试过了。没有任何效果:(

我的问题是:

如何将 args 传递给基于命令 cli 的程序?

为什么 argv/来自图片?


我的回购是

https://github.com/iamwwc/quickjs-debugger

您可以从我的 github 获取所有配置。

标签: c++visual-studio-codegdb

解决方案


推荐阅读