Automate Debugging with GDB Python API

Automate Debugging with GDB Python API | Interrupt (memfault.com)

事前:

事后:

 

D:\gcc\gdb32\bin>gdb32
GNU gdb (GDB) 10.2
Copyright (C) 2021 Free Software Foundation, Inc.
(gdb) python print(2+3)
5
(gdb)

gdb32.exe 7,863KB. 目录下还有808个.py. 为啥我不在自己的.c里加个print_linked_list()函数呢?可能是因为gdb是调试器不是虚拟机,比如虽然你定义了print_linked_list,但你的代码没有去调用它——因为你不想看到满屏的输出。然后gdb没法像JavaScript或Python那样去eval, exec print_linked_list——a.out/.exe里根本没这样的代码。Just-In-Time debugging can launch Visual Studio automatically when an app running outside Visual Studio errors or crashes. 名字起的有点大吧?我觉得Edit And Continue更难。要是gdb能无中生有地插入代码去调函数…… 当然.exe里最好留点空白区。

加个变量print, if(print) print_linked_list(); gdb可以改变量的值啊。用#if ... #endif,最后可以去掉,而且本来也占不了多少地方。

posted @   Fun_with_Words  阅读(50)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?









 和4张牌。

点击右上角即可分享
微信分享提示