![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Debug
开发中常见的软硬件调试技巧
优惠券已抵扣
余额抵扣
还需支付
¥29.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
Overboom
这个作者很懒,什么都没留下…
展开
-
多节点部署一键启动脚本
我们在实际项目开发的时候,往往一个大的项目需要很多人协同开发,大家都开发完成在一起联调的时候需要启动很多节点,如果每次都手动去启动所有节点效率非常低,所以我们可以写一个脚本一键启动所有进程,以下统称为节点。根据节点依赖的环境,一键启动脚本分两种情况进行部署以如下节点部署目录为例进项讲解:1> 每个节点各自为一个文件夹,分别依赖不同的config和lib2> 每个节点下分别有自己的run.sh脚本,可以部署自己依赖的库等3> 各个节点共同依赖的lib放在最外层。原创 2023-03-11 21:58:50 · 684 阅读 · 0 评论 -
linux下常用调试技巧
别人给我们的三方库.so文件,如果在链接的时候报错,函数未定义的错误【这个函数本该是在这个库中实现的】我们可以采用如下指令查看这个库中是否实现了这个函数该方法对于静态库和动态库都是适用的。原创 2023-01-04 08:28:34 · 2591 阅读 · 0 评论 -
GNU profiler(gprof)使用
1 gprof简介如果没有测试工具可以使用,改进应用程序的性能是非常难做的,因为究竟程序中是哪些函数消耗掉了大部分执行时间、又有哪些函数的调用次数最多。 (ps:调用次数最多不一定就最耗时)通常很难给出结论。GNU 编译器工具包所提供了一种剖析工具 GNU profiler(gprof)。gprof 可以为Linux平台上的程序精确分析性能瓶颈。 可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“call graph”(调用图), 包括函数的原创 2022-05-18 20:08:24 · 615 阅读 · 0 评论 -
使用cmake与makefile调试需要指定的参数[GDB与Gprof参数]
makefile与cmake使用GDB需要指定的参数1 在makefile中使用GDB在makefile中添加-g参数即可g++ -pg -o test test.cpp2 在cmake中使用GDB在linux环境下通过设置编译选项CXXFLAGS使程序可以支持GDB调试,在CMake构建的工程中也可以方便的实现。对于C++:在CMakeLists.txt文件中添加如下语句:SET(CMAKE_BUILD_TYPE "Debug")SET(CMAKE_CXX_FLAGS_DEBUG "$原创 2022-05-18 18:29:51 · 1087 阅读 · 0 评论 -
编译开源库指定安装路径的几种方法
当我们从github中下载一个开源软件(或者库),移植到别的平台时候,通常需要指定安装路径针对cmake管理的工程cmake -DCMAKE_INSTALL_PREFIX:PATH=/xxx ...针对makefile管理的工程,通常需要四步./autogen.sh(有的工程没有这种自动配置脚本)./configuremakemake install 有以下几种方法可以指定安装路径:1> 执行configure文件时指定安装目录:./configure --prefi原创 2022-04-28 18:51:18 · 892 阅读 · 0 评论 -
qnx下用dlt viewer看调试log
1. 安装dlt viewer下载dlt viewerdlt viewer github地址// 环境准备sudo apt install build-essentialsudo apt install qtcreatorsudo apt install qt5-defaultsudo apt install libqt5serialport5-dev// 下载源码git clone https://github.com/COVESA/dlt-viewer.git// 配置编译原创 2022-03-16 22:28:36 · 2342 阅读 · 0 评论 -
内存压测工具memteseter
如何构造内存使用率过多的场景?有两个方法:自己写代码弄个小工具,不断地去allocate_memory。用现成的工具:比如马上要介绍这款内存测试工具:memtester。1. memtester简介A userspace utility for testing the memory subsystem for faults. It’s portable and should compile and work on any 32- or 64-bit Unix-like system. (Yes原创 2021-10-21 17:00:11 · 710 阅读 · 0 评论 -
打印当前commit-id版本号
背景:实际开发中,一个功能会提交多个版本,每个版本对应一个commit-id。在调试的时候,我们本地通常是自己更改之后的最新版本,我们自测可能是OK的。但是再跟其他team联调的时候,会出现一些莫名的问题。问题根源在哪?很有可能查了半天之后,发现是联调的版本不是自己本地的最新版本。有什么方法可以在程序执行的时候就报提交版本的log呢? 安排一个实际项目中对应的会有Makefile和源文件在Makefile中添加如下代码:#Generic compiler flags (which include原创 2021-09-13 10:13:16 · 470 阅读 · 0 评论 -
C --- 自定义一个宏打印当前文件名、函数名、行号
#include <stdio.h>#define MY_PRINT printf("%s, %s, %d\n", __FILE__, __FUNCTION__, __LINE__);int main(void){ MY_PRINT; return 0;}原创 2021-03-16 14:30:14 · 805 阅读 · 0 评论