![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
调试,linux
文章平均质量分 51
熊猫Ben
窥
展开
-
实用监控shell脚本——附代码
最近在测试,需要对一些关键数值进行监控和比对,这里特别想获得系统cpu随着时间变化的曲线以及程序的cpu%值。如果是单纯获取数值来看,对比历史不是那么方便,不容易找到规律。就动手做了一个监控,看下效果以横向柱状图的方式显示cpu的变化,不采用普通的竖向柱状图,因为缓冲区都是上下拉动的,只要拉动滚动条就能看到历史记录,很清楚能看到曲线变化。一开始就是想到进度条的方法,然后网上搜到例子,就动手改起来。本来是采取打印spa+=’|’ 来实现进度,我觉得用循环来spa+=’|'效率低吧,然后改成了用print原创 2021-11-16 21:18:37 · 1943 阅读 · 3 评论 -
函数放在头文件中被多次包含的重定义问题
例如一个头文件headfile.h这样写#pragma oncebool Func (){return true;}在这个头文件被多个地方包含的时候就会出问题,链接时报错: (FuncB报重定义)“fatal error LNK1169: 找到一个或多个多重定义的符号”原因是,在headfile.h中定义了函数及其实现,如果被包含时,则会把函数实现放入包含的位置,被包含多次时,则会被放入多次,从而导致Func重定义。那怕是在头文件中使用了#pragma once或是#ifdef __xxx /#转载 2021-11-10 13:10:39 · 1568 阅读 · 0 评论 -
[记录一个bug]ffmpeg加入timestamp.h编译出错[已解决]
由于代码新增了av_ts2str()函数,提示需要包含timestamp.h文件,添加之后报错error: expected ‘)’ before ‘PRId64’原来这个宏定义给c用的,C++要用它,就要定义一个__STDC_FORMAT_MACROS宏显示打开它。c++使用PRID64,需要两步:包含头文件:<inttypes.h>定义宏:#define __STDC_FORMAT_MACROS,也可以通过编译时加-D__STDC_FORMAT_MACROS,或者在包含文原创 2021-08-23 10:48:19 · 1088 阅读 · 0 评论 -
编译libncurses5-dev遇到的问题
有个程序要编译的时候,cmake出现了错误Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)得知是缺少libncurses5-dev库,在网上下载一个.deb文件安装报了错dpkg: dependency problems prevent configuration of libncurses5-dev:amd64: libncurses5-dev:amd64 depends on libtinfo5 (=原创 2021-07-29 10:03:40 · 1498 阅读 · 0 评论 -
[记录一个bug]关于ffmpeg的av_interleaved_write_frame出现broken pipe/EOF 等问题[已解决]
最近在一次高并发测试中发现av_interleaved_write_frame经常返回 broken pipe /EOF /unknown errro 这种问题。运行的成功数是正常的一半,而且基本稳定在那个数值。跟阿里云也沟通过了,反馈是阿里云直播10秒没有拿到数据就主动关闭,这些都是客户端引起的问题导致服务端主动关闭的。像broken pipe,就是某端已经关闭这个链路,然后你再去往这个链路里送东西就会报这个错。但这个程序在别的电脑上运行没问题,而且推到本地直播服务器也没问题啊。后来我就把每.原创 2020-07-25 15:44:51 · 7451 阅读 · 11 评论 -
[记录一个bug]关于运行ffmpeg with cuda出错问题:Driver does not support the required nvenc API version..... [已解决]
当我在linux下编译好ffmpeg with cuda后,运行ffmpeg是可以的,但是一旦要开始转码,就报错Driver does not support the required nvenc API version. Required: 10.0 Found: 9.1查阅度娘https://blog.csdn.net/A199222/article/details/103233935后好像一般都说是:nv-codec-headers的版本是10.0,但是Nvidia driver版本只支原创 2020-07-25 15:32:38 · 7124 阅读 · 7 评论 -
内存泄露调试——valgrind
内存泄露调试最近遇到内存泄露的问题,所以找了很多测试的方法和工具。其中比较好用的是valgrind,很适合在linux和arm上使用。 valgrind参考 :http://www.cnblogs.com/oloroso/p/5085202.html http://blog.csdn.net/lizhangping/article/details/51833997原创 2017-08-03 21:04:01 · 1147 阅读 · 1 评论 -
编程中踩的坑——持续更新
编程中踩的坑,当头棒喝的感觉。我现在就在坑的旁边插上警告牌!走过路过来看看,评论可以加自己踩过的坑。1、记得备份代码!!!2、如果声明了库函数,假如信号量sem_t ,如果编译一直声明失败,找找你的目录下是否有同名库文件semaphore.h ,不要问我为什么知道。。。所以定义库文件的时候要命名规范。3、如果串口打不开,要检查其他地方是否已经打开了串口。4、记得go原创 2017-10-18 15:51:43 · 305 阅读 · 0 评论