
gdb
linuxheik
这个作者很懒,什么都没留下…
展开
-
GDB查看内存命令(x命令)
GDB查看内存命令(x命令)可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示:x/ n、f、u是可选的参数。n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。f 表示显示的格式,参见上面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。u 表示从当前地址往后请求转载 2013-06-26 13:26:16 · 1012 阅读 · 0 评论 -
C语言函数调用过程
文[读书笔记]C语言函数调用过程c legendmohe 2015年07月12日发布推荐 0 推荐收藏 0 收藏,392 浏览*** 本文是《老码识途》第一章的读书笔记 ***函数调用例子代码如下所示:int Add(int x, int y) { int sum; su转载 2016-07-08 19:06:02 · 2268 阅读 · 0 评论 -
一般函数指针和类的成员函数指针
一般函数指针和类的成员函数指针转载请注明原文网址: http://www.cnblogs.com/xianyunhe/archive/2011/11/26/2264709.html函数指针是通过指向函数的指针间接调用函数。函数指针可以实现对参数类型、参数顺序、返回值都相同的函数进行封装,是多态的一种实现方式。由于类的非静态成员函数中有一个隐形的this指针,因此,类的成员函数转载 2016-09-05 22:43:55 · 333 阅读 · 0 评论 -
Linux下动态链接库的使用
Linux下动态链接库的使用Linux下的静态链接库,做起来比较容易,只要将目标文件用ar打包就可以,下面写一下动态链接库的制作和使用方法,完全是根据个人理解和经验总结,有不对的地方还请大家指正。动态链接库的生成:代码上与写静态链接库没什么区别,主要是在编译时,以两个文件举例:转载 2016-11-14 16:38:34 · 321 阅读 · 0 评论 -
GDB No symbol "XXXXX" in current context
这几天在把windows下的工程移植到centOS下的时候,发现gcc编译不过,有三点原因:1、gcc相比VS,对C++标准的遵循更为严格,有些不符合标准的写法在VS下能过,但在gcc下则报错。比如:在头文件中声明类A的成员函数时,gcc下不能带有A::,又如初始化fstream时,gcc下第一个参数必须是const char *,而不能是string等等;2、由于centOS已有的gcc转载 2017-07-06 11:34:34 · 963 阅读 · 0 评论 -
类调用堆栈stdcall thiscall
看deom吧,两个对比C/C++ code?123456789101112131415161718192021222324252627282930313233343536373839404142转载 2017-07-07 09:53:05 · 379 阅读 · 0 评论 -
cmake构建时指定编译器架构(x86 or x64)
cmake构建时指定编译器架构(x86 or x64)博客分类:Buildcmake Windowsvs2015 x64编译器为例,cmake命令如下:Xml代码 cmake -G "Visual Studio 14 Win64" path\to\source\dir 去掉Win64,就是32bit:Xml代码转载 2017-07-07 10:07:30 · 29810 阅读 · 1 评论 -
linux 64 or 32
#include int main(int argc ,char* argv){ #ifdef __x86_64__ printf("__x86_64__"); #elif __i386__ printf("__i386__"); #endif return 0;}转载 2017-07-07 10:15:35 · 299 阅读 · 0 评论 -
用宏区分操作系统和编译器
编码的时候经常要用到条件编译,每次都到网上去查比较浪费时间,今天总结一下以备后用 编译器GCC#ifdef __GNUC__#if __GNUC__ >= 3 // GCC3.0以上Visual C++#ifdef _MSC_VER(非VC编译器很多地方也有定义)#if _MSC_VER >=1000 // VC++4.0以上#if _MSC_VER转载 2017-07-07 10:17:20 · 677 阅读 · 0 评论 -
编译器中和64位编程有关的预定义宏
版权声明:本文为博主原创文章,未经博主允许不得转载。本文对分别测试VC,MinGW,GCC 三种编译器,32位和64位模式,共6种情况下,和64位编程有关的与预定义宏的值。对跨平台编程具有参考意义。 Agner Fog 在他的《Calling conventions for different C++ compilers and operating systems》提到一些预订宏。转载 2017-07-07 10:17:56 · 1082 阅读 · 0 评论 -
CentOs下安装gcc/g++/gdb
Centos支持使用yum安装,安装软件一般格式为yum install .......,注意安装时要先成为root用户,且在联网的状态下。使用yum安装gcc:yum install gcc即可。使用:which gcc 查看是否安装成功使用yum安装g++:yum install gcc-c++ 即可。使用:which g++ 查看是否安装成功 gdb安装方法一:使用yum安装:yum ...转载 2018-05-02 11:20:34 · 514 阅读 · 0 评论 -
C++ new delete new[] delete[]重载实现
篇博文主要是分析了C++ new()和构造函数的执行,delete()与析构函数的调用方式,通过全局重载和局部重载看清楚调用的关系[cpp] view plain copyusing namespace std; #include <iostream> #include <cstdlib> class Student{ public: Stud...转载 2018-05-25 10:44:34 · 1185 阅读 · 0 评论 -
GDB忽略SIGPWR和SIGCPU这两个信号
用GDB 调试Java程序 陈皓http://blog.csdn.net/haoel 背景 想要使用GDB调试程序,就需要用GNU的编译器编译程序。如:用GCC编译的C/C++的程序,才能用GDB调试。对于Java程序也是一样的,如果想要用GDB调试,那么就需要用GNU的Java编译器——GCJ来编译Java程序。 目前,很多Linux都不会预装Sun的JVM...转载 2018-11-29 18:06:57 · 1824 阅读 · 0 评论 -
C++中placement new操作符(经典)
C++中placement new操作符(经典)placement new是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete能够被替换成用户自定义的版本)。它的原型如下:void *operator new( size_t, void *p ) throw() { return转载 2015-12-22 18:28:24 · 400 阅读 · 0 评论 -
gcc/gdb/gprof/gcov/valgrind使用
gcc/gdb/gprof/gcov/valgrind使用ning 发表于 2012年10月05日 23:44 | Hits: 796Tag: allTable of Contentsgcc编译带符号gdb 启动参数gdb 查看结构体,格式some ppt for gdbcore dumpgdb 基本使用修改代码查找路径runcontinuebtli转载 2015-03-28 16:30:28 · 2055 阅读 · 0 评论 -
gdb反汇编
gdb反汇编好吧,我承认我对gdb只是一知半解,学无止境 1、disassemble反汇编命令:disassemble 是以反汇编清单的形式输出内存的内容,表示的格式由命令set disassembly-flavor确定1.1不带参数默认的反汇编范围是 所选择帧的pc附近的函数1.2单个参数 就是pc, 当然也可以是函数名,因为函转载 2013-12-24 15:08:21 · 5221 阅读 · 0 评论 -
目标文件格式分析工具: ar,nm,objdump,objcopy,readelf
http://www.kgdb.info/linuxdev/object_analyse_tools/目标文件格式分析工具: ar,nm,objdump,objcopy,readelf2011年9月5日reship发表评论阅读评论本文转载自amethyst623的blog目标文件格式分析工具: ar,nm,objdump,objcopy,read转载 2013-07-17 17:14:36 · 735 阅读 · 0 评论 -
使用BFD操作ELF
使用BFD操作ELF创建时间:2001-09-21文章属性:原创文章来源:http://www.xfocus.org/文章提交:alert7 (sztcww_at_sina.com)使用BFD操作ELF作者:alert7 alert7@xfocus.org >主页: http:转载 2013-07-17 17:21:06 · 1227 阅读 · 0 评论 -
xbugger
http://stackoverflow.com/questions/9132006/how-to-get-instruction-information-from-libopcodeshttps://code.google.com/p/baiduhook/source/browse/trunk/src/AsmHelper.cppxbugger_1.c - Goog转载 2013-07-17 17:39:07 · 746 阅读 · 0 评论 -
linux下的二进制工具(反编译工具)
inux下的二进制工具(反编译工具)The GNU Binutils are a collection of binary tools. The main ones are:ld - the GNU linker.as - the GNU assembler.But they also include:addr2line - Converts a转载 2013-07-17 17:56:32 · 24030 阅读 · 0 评论 -
gdb中反汇编调试
gdb中反汇编调试gdb ./helloword (gdb)set args 参数(gdb) set disassembly-flavor intel // Intel风格(gdb) b main对main函数下断点(gdb) disas /r 0x401365,0x401370反汇编一段内存地址(gdb) si转载 2013-07-30 15:45:03 · 7877 阅读 · 0 评论 -
gdb
i386-linux-nat.ci386_linux_resume表示continue原创 2013-04-23 19:43:03 · 491 阅读 · 0 评论 -
gdb显示内存命令
gdb显示内存命令 2011-12-20 17:10:42分类: LINUX用gdb查看内存 格式: x /nfu 说明x 是 examine 的缩写 n表示要显示的内存单元的个数 f表示显示方式, 可取如下值x 按十六进制格式显示变量。d 按十进制格式显示变量。u 按十进制格式显示无符号整型。o 按八进转载 2013-07-31 16:08:57 · 833 阅读 · 0 评论 -
Linux的Core文件调设置方法
49Linux的Core文件设置与调试分类: C/C++, Linux/Ubuntu | 作者: ju | 访问:863 views | | 查看评论 发表评论标签: core,dump,gdb,linux,ulimit一、运行时错误任何人写程序都会出错,正如《C++编程规范》所说,真正可怕的错误不是编译时的错误,而是运行转载 2013-09-20 15:05:29 · 1701 阅读 · 0 评论 -
在Linux程序中输出函数调用栈
在Linux程序中输出函数调用栈12/23. 2013程序发生异常时,将函数的调用栈打印出来,可以大大提高定位效率。Linux中提供了三个函数用来获取调用栈:12345678/* 获取函数调用栈 */int backtrace(void **buf转载 2013-12-28 17:03:55 · 956 阅读 · 0 评论 -
GDB print 详解
GDB print 详解分类: Linux GDB2013-04-08 11:07 145人阅读 评论(0) 收藏 举报LinuxGDB察看变量目录(?)[+]print命令的格式是: print xxx p xxx1. print 操作符 @ 是一个和数组有关的操作符,在后面会转载 2013-12-17 17:37:28 · 18793 阅读 · 0 评论 -
GDB下显示完整的长字符串
http://blog.csdn.net/li_yang98/article/details/5871663GDB下显示完整的长字符串分类: C/C++2010-09-08 19:16 3083人阅读 评论(0) 收藏 举报encodingvbGDB下用p看一个字符串的时候默认显示是截断的,可以通过set print element 0命令显示完转载 2013-12-18 11:07:36 · 1329 阅读 · 0 评论 -
GDB调试精粹及使用实例
GDB调试精粹及使用实例来源:不详 (2006-07-14 11:18:05) 一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。 如果你使用不带转载 2013-12-18 10:54:52 · 528 阅读 · 0 评论 -
利用GDB进行多线程调试
一、多线程调试多线程调试重要就是下面几个命令:info thread 查看当前进程的线程。 thread <ID> 切换调试的线程为指定ID的线程。 break file.c:100 thread all 在file.c文件第100行处为所有经过这里的线程设置断点。 set scheduler-locking off|on|step,这个是问得最多的。在使用step或者con...转载 2018-11-29 18:07:54 · 530 阅读 · 0 评论