在VS code下调试dll

主要内容基于Windows下DLL文件调试_gdb调试dll windows-CSDN博客

使用wrapper程序调试dll

生成用于调试的.a文件

为了能够对DLL文件进行调试,需要待调试文件中包含调试信息。所以,需要在编译时指定-g -ggdb关键字。且在调试前不能使用strip命令去掉可执行文件中的调试信息。

 gcc -shared -fPIC -g -ggdb -o libadd.a add.c

add.c是待调试的DLL文件的源文件。

如果add.c文件中使用了头文件add.h, 那么需要增加额外的关键字"-D", "ADD_EXPORTS"

VS code 配置

在vscode的task.json文件中填下如下内容:

{
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 生成lib for dll调试",
            "command": "gcc",
            "args": [
                
                "-shared","-fPIC", "-g","-ggdb","-o","lib${fileBasenameNoExtension}.a","${fileBasename}","-D", "ADD_EXPORTS"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        },

现在,在VS code中打开要调试的dll的.c文件,可以通过,终端>运行任务 生成一个.a文件。

Wra

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值