
debug
yangzhao0001
这个作者很懒,什么都没留下…
展开
-
gdb 命令列表
原文: http://hi.baidu.com/skyyjl/item/65a99710b782e9021894ecafgdb 命令列表应用gdb进行调试下面是简单命令,另外网上可以找到 gdb quick reference .pdf看到更多命令列表1. 启动gdb 应用程序名gdb 应用程序名 core文件名转载 2015-10-16 15:02:23 · 606 阅读 · 0 评论 -
WINSOCK.H WINSOCK2.H的区别及函数重复定义的解决方法
1. 版本区别winsock2.h 版本2.0winsock.h 版本1.1说白了就是winsock2.h是winsock.h的升级版,用来替换winsock.h2. 重复定义因为是两个不同的版本,因此有非常多相同的定义解决方法:1)windows.h在winsock2.h的前面**该办法影响其他库文件#define WIN32_LEAN转载 2015-10-29 14:18:48 · 4305 阅读 · 0 评论 -
const char*, char const*, char*const的区别
const char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。 这个知识易混点之前是看过了,今天做Linux上写GTK程序时又出现个Warning,发散一下又想到这个问题,于是翻起来重嚼一下。事实上这个概念谁都有只是三种声明方式非常相似:Bjarne在他的The C++ Programming Language里面给出过一个助记的方法转载 2015-10-29 16:15:58 · 332 阅读 · 0 评论 -
unicode下的SetWindowTextW------unicode最好不要与C代码一起使用
1、unicode下的SetWindowTextW,导致char在MFC编辑框中输出非常麻烦。需要做单字符char向双字符wchar_t转换。可以转换,转换如下:void CLR_ServerMFCDlg::OnBnClickedButtonBrowsePath(){// TODO: 在此添加控件通知处理程序代码BROWSEINFO bi;//浏览文件夹对话框原创 2015-11-23 16:42:21 · 1707 阅读 · 0 评论 -
csky elf文件 查看符号表
1、进入Debug(当然也可以不用进)Debug>2、输入命令进行获取符号表csky-uclinux-readelf -s NuCleus.elf > 2.sym3、另外一种方法,输入命令进行反汇编csky-uclinux-objdump -SD NuCleus.elf > 3.asm原创 2015-11-30 12:22:41 · 886 阅读 · 0 评论 -
CDS 未对齐访问异常 【2】
1、异常表现图1 debug图2 pctrace view图3 control-registers图4 disassembly图5 main-registers2、分析(1)epsr 0x80010151分析知:未对齐访问异常(2)epc 0x8003b8de 和 图4 disassembly和原创 2015-11-30 14:46:26 · 694 阅读 · 0 评论 -
C语言结构体(struct)常见使用方法
今天复习一下struct,顺便挖掘一下以前没注意的小细节:基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。结构体定义:第一种:只有结构体定义[cpp] view plaincopy转载 2015-12-01 10:16:44 · 527 阅读 · 0 评论 -
Source Insight函数调用关系显示设置
当我们需要设置source Insight的项目代码中函数调用关系时,可通过如下的设置来实现:1、显示函数调用关系窗口 Source Insight工具栏中“View”—>“Relation Window”,选中“Relation Window”则在右下角显示一个函数调用关系窗口,如图:上图表示ServiceMain函数调用了其他函数,例如调用了Service转载 2016-01-05 14:24:09 · 1775 阅读 · 0 评论 -
关于元素个数为0的数组use心得
最近,工作时看了别人的代码,有个chance接触这个0数组的使用。代码中要实现类似这么个功能:内存中有一段缓存区buf,buf前8字节存俩个int型值,接着是一段字符串:char buf[100];memset(buf, 0, 100);int id = 9;int len = 10;char msg[] = "123456";memcpy(buf, &转载 2016-08-02 11:06:06 · 1790 阅读 · 0 评论 -
GCC中,在某些情况下,数据对齐很重要。
1、unsigned char rbf_framebuf[RBF_FRAMEMAX][RBF_FRAMELEN] __attribute__((aligned(4)));2、u8 rcvbuf[rcvlen] __attribute__((aligned(4)));原创 2017-03-10 11:05:33 · 485 阅读 · 0 评论 -
pclint 常用屏蔽错误方法,已实测
法一:/*lint -e160*/do_div/*lint +e160*/法二:/*lint -e(160) */do_div法三:-esym(63, SET_REG, SET_REG_M) -emacro(63, SET_REG, SET_REG_M) 法四:do_div; //lint !e524 !e653原创 2017-07-06 09:57:51 · 16432 阅读 · 2 评论 -
typedef
在计算机编程语言中用来为复杂的声明定义简单的别名,与宏定义有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。中文名声明类型外文名typedef性 质声明定义存 储存储类的关键字差 别与宏定义有些差异目转载 2015-11-12 00:40:54 · 497 阅读 · 0 评论 -
详解DHCP工作方法,并用wireshark对DHCP四个数据包抓包分析
DHCP的作用:在局域网中,用户电脑都需要IP地址才使用网络服务,但是客户并不都会配置IP地址,这时,可以在网络中部署一个DHCP服务器,用来给这些客户主机动态的分配IP。所有DHCP的客户端,在向DHCP服务器租用到地址后,会在DHCP服务器端留下租用信息,网络管理员可以根据这些分配信息统一管理这些客户。DHCP的一些概念:DHCP是一个典型的Client/Server模型的协议转载 2015-11-06 14:04:44 · 3603 阅读 · 0 评论 -
队列、堆、栈、堆栈的区别?
队列是先进先出:就像一条路,有一个入口和一个出口,先进去的就可以先出去。而栈就像一个箱子,后放的在上边,所以后进先出。*********************************************************************************************************************************转载 2015-10-01 10:48:33 · 339 阅读 · 0 评论 -
expected specifier-qualifier-list before 'size_t'
包含sg.h,编译的时候报错:sg.h:39: error: expected specifier-qualifier-list before 'size_t'原来是没有把fcntl.h放在它的前面。对于具有依赖关系的头文件,编译的时候要注意包含顺序。另外,对于这种与数据类型有关的错误,一般不能修改头文件本身,而应该考虑使用其他方法。转载 2015-09-30 18:37:36 · 705 阅读 · 0 评论 -
gcc: dereferencing pointer to incomplete type错误
/********************************************************************* * Author : Samson * Date : 07/27/2014 * Test platform: * Mint 15 * GNU bash, version 4.2.45 *转载 2015-09-30 15:18:04 · 526 阅读 · 0 评论 -
storage class specified for parameter
今天检查一个同事写的程序,主要问题是编译器报“storage class specified for parameter ”的错误,可是看报错的位置并没有什么错误,查了半天才发现是一个头文件中的一个函数声明少写了一个分号“;”。这个错误虽然很小,但检查起来不是很容易,主要原因我觉得还是gcc做语法检查的时候进行了过多的错误处理,忽略了识别不了的token,这样错误被累计导致产生这个报警信息转载 2015-09-30 14:15:48 · 355 阅读 · 0 评论 -
堆和栈的区别(转过无数次的文章)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2015-10-01 10:44:23 · 526 阅读 · 1 评论 -
Nucleus SDIO 的 Bus Width 的修改过程
1、修改SDIO DEVICE的Bus Width(1)part1_410.pdf SD Specifications Part 1Physical LayerSimplified SpecificationVersion 4.10January 22, 2013不是SDIO DEVICE文档;(2)partA2_300.pdfSD Sp原创 2015-11-04 10:00:07 · 1464 阅读 · 0 评论 -
fatal error C1083: 无法打开包括文件: “SDKDDKVer.h”: No such file or directory
解决办法:项目--右键--属性--配置属性--常规--平台工具集--选择Visual Studio 2013 -WindowsXP(v120_xp)版权声明:本文为博主原创文章,未经博主允许不得转载。转载 2015-10-18 16:47:28 · 781 阅读 · 0 评论 -
csky 查看内存使用
命令:Debug>csky-elf-readelf -S *.elfdata:存放已初始化的变量,如 全局变量 = 8;bss:存放未初始化和初始化为0的变量。原创 2015-11-02 10:22:49 · 644 阅读 · 0 评论 -
CDS 网络通信,异常重启---调试
1原创 2015-11-02 15:18:38 · 1768 阅读 · 1 评论 -
CDS 未对齐访问异常
1、代码如下2、汇编如下3、分析r0:栈地址r15:返回时的跳转地址r2:第一个传入参数的地址8000cf6e: 8005 ld r0, (r5, 0) 设置栈地址8000cf70: 24f0 subi r0, r0, 16 栈空间8000cf72: 9f20 st原创 2015-11-02 19:55:53 · 729 阅读 · 0 评论 -
printf重命名
//void dbg_printf(unsigned long level, char *fmt, ...)#define CMD_DEBUG_LEVEL 0#define cmd_debug(fmt...) dbg_printf(CMD_DEBUG_LEVEL, ## fmt)#define PRINT(fmt, args...) { printf(fmt, ##原创 2017-07-06 11:02:03 · 984 阅读 · 0 评论