vscode + cygwin gdb 调试C/C++ 配置

http://blog.csdn.net/c_duoduo/article/details/51615381

cygwin设置

  • cygwin安装路径设置到Windows的path环境变量中:
    A:\cygwin\bin
    使得在cmd中可以使用gcc/g++命令

visual studio code 配置

  • 设置.vscode下的文件
  • 修改launch.json文件配置,使用以下的代码覆盖default
    值得注意的是,”miDebuggerPath”的路径还是Windows类型的路径a:/cygwin/bin/gdb.exe
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (GDB)",                 // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg",                           // 配置类型,这里只能为cppdbg
            "request": "launch",                        // 请求配置类型,可以为launch(启动)或attach(附加)
            "launchOptionType": "Local",                // 调试器启动类型,这里只能为Local
            "targetArchitecture": "x86",                // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64
            "program": "${file}.exe",                   // 将要进行调试的程序的路径
            "miDebuggerPath":"a:/cygwin/bin/gdb.exe", // miDebugger的路径,注意这里要与cygwin/MinGw的路径对应
            "args": ["blackkitty",  "1221", "# #"],     // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false,                       // 设为true时程序将暂停在程序入口处,一般设置为false
            "cwd": "${workspaceRoot}",                  // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
            "externalConsole": true,                    // 调试时是否显示控制台窗口,一般设置为true显示控制台
            "preLaunchTask": "gcc"                    // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
        }
    ]
}
  • Tasks.json文件设置
{
    "version": "0.1.0",
    "command": "gcc",//对应"preLaunchTask"c++为g++, c为gcc
    "args": ["-g","${file}","-o","${file}.exe"],    // 编译命令参数
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    }
}

  • 这里设置的“program”编译出的程序名是含后缀名.c.cpp的exe程序。怎么设置不要后缀名?
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
gdb-20010428-3[1].tar.bz2 和 gdb-20020411-1[1].tar.bz2 图形界面 GDB 使用指南 -SeaSon from HIT 1.安装:cygwin 下面安装就行了,注意我测试的 gdb-20020411-1和 gdb-20010428-3 都是 图形界面,而版本 gdb-20041228-3 我发现是命令行的,所以推荐前两个版本,毕竟图形界 面方便很多,如果你热衷于新的版本,那看到这里你就可以停止了:)下面以 ns-allinone-2.27 为例说明 注:现在直接从网上安装的版本好像没有那么老的版本,我是从网上找到一个本地安装版本 “ Cygwin0528”(可以用 baidu 或者 google 搜一下),然后利用它安装 gdb-20020411-1, 注意你只需要安装这一个就行了,其他的所有都选择为 keep(已经安装的)或者 skip(未 安装的),否则会出现问题的,一定要切记这点儿。 2.在代码里面添加调试信息:修改 Makefile(没有任何后缀的)将里面 CCOPT = #如果是ns-allinone-2.28,这里是 CCOPT = -O2 STATIC = LDFLAGS = $(STATIC) LDOUT = -o $(BLANK) 改变为: CCOPT = -g #如果是 ns-allinone-2.28,这里修改为 CCOPT = -O2 -g STATIC = LDFLAGS = $(STATIC) LDOUT = -o $(BLANK) 修改的东西是粉红色字体所示 3.然后重新编译 注意:以下步骤一个都不能少 Make clean Make depend Make 4.调试过程如下 进入工作目录:推荐 ns-2.27 操作:打开 xwindows 之后, a.输入 cd ns-allinone-2.27/ns-2.27(必须) b.输入gdb ns 进入gdb 工作界面,如果不是图形界面的版本可能就直接在 xwindows进入 Gdb 调试过程,这样的话具体命令参见《NS 仿真软件》精华区,不要问我!!!!!!!!!! 如果按照我的要求安装的图形界面 gdb,出现如下图形界面,如下所示: c.在左上角红色标记的地方输入你要调适的程序。如:mflood.cc 设置断点,注意只有最左边有“-”符号(如下图中 1 所示)的可以设置断点,将鼠标放 在行号上就会出现变成一个圆形的符号,单击即设了一个断点,原来的“-”地方变成了一 个红色的方框,如下图中标号 2 所示。 然后输入 Ctrl+N进入命令行窗口,如下图所示: 进入代码所在的目录 ns-2.27/mytcl 因为当前的工作目录在 ns-2.27,所以我直接输入 cd mytcl 就行了 输入命令 r mytcl.tcl 就进入调试,(调试不是在 console 窗口,而是在一下窗口)具 体调试根 vc差不多,呵呵,不用我罗嗦了,一些常用的如下图所示,其他的你看英文就知 道意思了。祝好运

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值