![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
调试与性能优化
文章平均质量分 86
debug,optimize etc.
香蕉割草机
这个作者很懒,什么都没留下
展开
-
内核调试方法
会接管所有的线程,如果你从一个线程切换到另外一个线程, gdb 会马上把原先的线程暂停。一般用 gdb 进行多线程调试,需要注意两个参数: follow-fork-mode 和detach-on-fork。但是在wsl2上尝试全部成功。这步是在编译内核之后进行的,因为有些特性需要在内核编译时就指定,比如kgdb。可以使用串口连接,或者使用socat实现远程gdb连接kgdb,另外还有agent-proxy小工具可用。在用 gdb 来调试内核的时候,由于内核在初始化的时候,会创建很多子线程。原创 2024-07-11 00:41:54 · 847 阅读 · 0 评论 -
gdb server简单探索
gdb server运行于嵌入式设备,比如arm或arm64体系结构,体积小,占用资源少,相当于一个前端。gdb server可以attach到一个strip的进程。gdb运行于性能更高的主机,如x86设备上,需要有带符号表的相应进程。以下分别以aarch64和x86来指带被调试进程运行设备(也就gdbserver运行设备)和gdb运行的设备。原创 2023-05-01 02:36:51 · 1134 阅读 · 0 评论 -
gdb使用
GDB: The GNU Project Debuggergdb能够在程序运行时看到程序里面发生了什么,还能看到程序挂掉的时候在干嘛。。。所以说当你在找bug时是很有用的。。。官方说gdb可以主要做下面四种事情来帮助你找bug:启动你的程序,指定任何可能导致bug的内容使你的程序在特定的条件停下来当你的程序停下后,检查发生了什么在你的程序里改变一些东西,用于去尝试修正一些错误的影...原创 2019-03-22 15:52:54 · 1051 阅读 · 1 评论 -
release版本core推导与相应工具学习
readelfobjdumpobj文件段结构原创 2021-05-20 10:38:00 · 1290 阅读 · 1 评论 -
gdb打印errno显示cant find thread-local storage xxxx
errno即最后一次错误的错误码,定义在<errno.h>里面,是一个宏#if !defined _LIBC || defined _LIBC_REENTRANT/* When using threads,errno is a per-thread value. */#define errno (*__errno_location ())# endiferrno是线程安全...原创 2019-09-11 13:51:55 · 2944 阅读 · 0 评论 -
linux性能调优
引用自知乎,转侵删静态代码检测工具或平台:cppcheck、PC-lint、Coverity、QAC C/C++、Clang-Tidy、ClangStatic Analyzer、SonarCube+sonar-cxx(推荐)、Facebook的inferprofiling工具:gnu prof、Oprofile、google gperftools(推荐)、perf、intelVTune、AMD CodeAnalyst内存泄漏:valgrind、AddressSanitizer(推荐)、mtr转载 2021-04-25 13:07:25 · 180 阅读 · 0 评论