码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • gdb相关初始化配置,包括在vscode中配置gdb初始化参数


    我在vscode的launch.json关于gdb参数的配置中有写到,只给gdb初始化时配置-enable-pretty-printing可能没有作用。原因在于pretty-printing所需要使用的python脚本没有被默认的import进来,并被调用。

    我们来看看需要如何使pretty-printing起作用。

    首先,通过linux命令行查找/usr/share/gcc-x.x.x/python这么个目录。

    (

    如果没有此目录的话,需要去网上下载这个东西,可以参考下面的文章(我没看懂下载到哪,因为我没有实际操作过)

    GDB调试,如何查看STL容器值?_小小蚂蚁fcy的博客-CSDN博客_gdb查看stl

    )

    找到此目录后,copy下这个目录路径备用。

    在~/.gdbinit中(如果没有则自己建一个)加入下面内容,其中的路径就是刚刚copy的路径。

    1. python
    2. import sys
    3. sys.path.insert(0, '/usr/share/gcc-x.x.x/python')
    4. from libstdcxx.v6.printers import register_libstdcxx_printers
    5. register_libstdcxx_printers (None)
    6. end

    这样gdb启动时就会默认加载这几行语句了。

    我们也可以在~/.gdbinit中加入其他的一些gdb的初始化参数,以符合我们的调试习惯。

    这些参数也都可以写到vscode的launch.json中,比如下面这样

    1. "setupCommands": [
    2. {
    3. "description": "Test",
    4. "text": "python import sys;sys.path.insert(0, '/usr/share/gcc-x.x.x/python');from libstdcxx.v6.printers import register_libstdcxx_printers;register_libstdcxx_printers(None)",
    5. "ignoreFailures": false
    6. },
    7. {
    8. "description": "Enable pretty-printing for gdb",
    9. "text": "-enable-pretty-printing",
    10. "ignoreFailures": true
    11. }
    12. ],

    gdb的其他参数可以参考下面的文章

    用GDB调试程序(六) - CarryBricks - 博客园

    所有的参数可以通过进入gdb后输入help set print 来查看,当然还有非print相关的许多其他设置,可以自己摸索。

    写到launch.json中参考如下格式(没试过,有问题自己摸索)

    1. "setupCommands": [
    2. {
    3. "description": "Set Disassembly Flavor to Intel",
    4. "text": "-gdb-set disassembly-flavor intel",
    5. "ignoreFailures": true
    6. }
    7. ],

    最后附上抄的别人的配置,用上去还行

    1. set print pretty on
    2. set print object on
    3. set print static-members on
    4. set print demangle on
    5. set print sevenbit-strings off
    6. python
    7. import sys
    8. sys.path.insert(0, '/usr/share/gcc-x.x.x/python')
    9. from libstdcxx.v6.printers import register_libstdcxx_printers
    10. register_libstdcxx_printers (None)
    11. end

  • 相关阅读:
    K8s----资源管理
    手机浏览器看视频加载太慢怎么办,这5招用了提速快
    SpringBoot 项目实战 ~ 1. 项目介绍及基础搭建
    八年测开经验面试28K公司后,吐血整理出高频面试题和答案
    HJ91 走方格的方案数 - 牛客网
    Linux高负载排查最佳实践
    06_ElasticSearch:索引和文档的CURD
    SWOT分析法和个人职业规划
    手机投屏到笔记本电脑小方法
    86.(cesium之家)cesium叠加面接收阴影效果(gltf模型)
  • 原文地址:https://blog.csdn.net/cly141220010/article/details/127792827
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号