![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 86
无人等人
穷且益坚
展开
-
使用 VSCode 远程 图形化 GDB 调试 嵌入式linux
目录标题引言环境步骤vscode remote ssh 配置Linux编译机配置设备板端配置vscode launch设置调试引言之前说了,通过core dump找程序bug,但是有些时候排查问题的还是不够高效,命令行形式gdb还是太简陋了,在IDE debug代码打断点,查堆栈变量那些习以为常的东西,在gdb这里怎么用怎么不习惯,可视化操作不比敲命令行来的香吗?最近正好研究了下vscode remote ssh + gdbserver 调试。相对来说体验比较像IDE了,基本的单步,直接代码上打断点原创 2021-06-07 16:46:04 · 1950 阅读 · 4 评论 -
linux 程序crash 调试、原因分析及问题定位
linux 程序崩溃,如果能根据已有的插桩日志能排查出来自然好,但是往往日志未全覆盖,这时候排查起来还是比较麻烦的。一般来说有以下这几种方法获取崩溃现场数据。core dumpcore dump是linux原生自带的一个异常分析工具,当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中。注意程序编译 需要带 -g。开启core dumplinux 默认是关闭的。开启ulimit -c unlimited此时,运行程序发生sigsegv之类的异常时原创 2021-05-26 09:42:37 · 7743 阅读 · 2 评论 -
加快gcc编译速度
前情之前一直在windows平台下使用ide开发,idea有热加载,而keil,ccs之类的单片机ide由于固件大小原因,编译速度都还凑合。等到新公司项目都是linux平台下用的交叉编译器开发,写的makefile也不咋地,一段时间玩下来,编译速度慢的简直不能忍受。网上一通搜索,基本上通过以下几点尝试优化PIMPL(放弃)使用pimpl(Pointer to Implementation),effective stl 很多书都有介绍,这玩意通过结构体或者类隐藏内部私有数据成员,使用前置声明和指原创 2021-05-22 11:29:19 · 4867 阅读 · 2 评论