Tags

2 个页面

gdb

VS Code 调 C++,别漏了 CMake 和 GDB Printer

以前我在 VS Code 里调 C++,配置基本就停在 launch.json,最多再加一句 GDB。

program 填好,把 gdb 填好,把断点打好。然后呢?然后每次调试前,自己去终端里 cmake --build 一下。

更烦的是,自定义的价格、合约、订单类型断下来以后,VS Code 调试窗口经常只能看到一堆内部字段。数据是对的,但是不说人话。

这事离谱的地方在于,我以前看过的一些教程也差不多就写到 launch.json 为止。直到最近让 AI 配一个新项目,它顺手加了 preLaunchTaskgdb_printers.py,我才反应过来:VS Code 调 C++,不只是把 GDB 启起来。调试前可以自动触发 CMake 编译,断点停住以后,也可以让 GDB 加载 Python 脚本,把业务类型处理成自己看得懂的样子。

说实话,这不是什么黑科技。

但是它刚好补上了 C++ 日常调试里两块很烦的空白:启动前构建,以及断点后的变量展示

pstack排查进程假死

在软件开发和运维中,经常会遇到进程假死的情况,这种情况会导致系统性能下降或者服务不可用。本文介绍如何使用 pstack 工具来排查进程假死问题,通过分析进程的堆栈信息,找出问题的原因并解决。

背景:风控系统子服务出现假死,导致风控服务不可用。由于缺乏服务可用性监控,无法及时发现进程假死的情况,导致系统不可用。