gdb 调试 node c++ addons 记录

本文详细介绍了如何使用gdb进行Node.js C++插件的调试,包括设置substitute-path解决库路径问题,使用info sharedlibrary检查库加载,设置sysroot和solib-search-path来定位动态库,以及利用info threads和thread ID来管理调试线程。通过这些技巧,开发者可以更有效地调试和优化Node.js的C++扩展模块。
摘要由CSDN通过智能技术生成

node c++ addons 调试

参考知乎文章:NodeJS C++插件开发(三) - 调试概述

gdb node
run index.js

gdb 相关参数

set substitute-path from_path to_path
把 to_path 映射到 from_path 上,解决找不到相对路径的问题

info sharedlibrary
查看so库的加载路径是否正确

set solib-search-path
设置动态库的搜索路径,对绝对路径和相对路径均起作用。(编译器自动链接的so库多采用绝对路径)
可设置多个搜索路径,路径之间使用“:”隔开(在linux中为冒号,DOS和Win32中为分号)

set sysroot 或者 set solib-absolute-prefix
设置库的绝对路径前缀,只对绝对路径有效
只能设置一个路径

info threads
显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程

thread ID(1,2,3…)
切换当前调试的线程为指定ID的线程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值