原文:【转】gdb如何调试没有符号表(未加-g选项的编译)的程序

转自 http: blog.csdn.net yygydjkthh article details 很多时候,发行版的程序在编译的时候都是没有加上 g这个选项的,那么若是想调试一个程序,应该怎么办呢 在加了 g选项时,是可以通过行号 函数名等进行断点的设置的,但是没有符号表的情况下,那么怎么来进行程序的断点的设置并进行调试呢 这就要用到反汇编然后再对地址进行断点的设置来进行调试,具体情况可参看以 ...

2017-01-05 21:35 0 2622 推荐指数:

查看详情

使用GDB调试符号表程序分离后的可执行文件

环境:   Centos7.3、GCC4.8.5 适用场景:   由于调试信息比较大,通常将程序分离为可执行程序符号信息文件,只对外发布可执行程序,需要调试时再将符号信息文件附加。 一、创建可执行程序:   use_library.cpp ...

Tue Oct 09 16:54:00 CST 2018 0 2938
GDB如何使用符号表

  如果现在有同一个工程构建出的Debug版和Release版可执行文件projectD和projectR,如下的命令可以帮助你把Debug版中的符号表加到Release版中,实现对Release版的调试。   1、objcopy --only-keep-debug projectD ...

Thu Jul 26 20:57:00 CST 2012 1 10568
gdb 符号表 &信息 &工具

查看二进制文件的编译器版本 strings info.o |grep GCCGCC: (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) 4.6.3 20120201 (prerelease) 查看依赖 ...

Tue Jan 14 01:47:00 CST 2020 0 832
编译原理 符号表的代码实现

//----------------------------符号表---------------------------------------//预定义struct snode;struct stable;//符号表结点struct snode{ string text; //符号名称 ...

Wed May 31 23:04:00 CST 2017 0 1166
编译器的符号表管理

内容提要 在我们写的代码中,有若干个变量,若干个函数;变量还会重名,还有值。编译器却总能找到我们指定的变量或函数,从不找错人。在我看来,这是一个很神奇的功能。剖析一番,会发现”符号表“的身影。 符号表,存储变量的值、函数。变量作用域依赖它,找到正确的变量也依赖它。 一起来看看符号表 ...

Thu Feb 17 02:02:00 CST 2022 2 651
GCC 符号表小结【

1) 如何生成不含符号表的目标文件 ? #一个方式是编译的时候使用 选项 s roo ...

Mon Oct 08 23:39:00 CST 2018 0 1277
linux gdb 没有符号表被读取。请使用 "file" 命令。

使用gdb时遇到这个问题,刚开始接触linux下使用gdb调试程序,其原因是生成的二进制可执行文件没有使用-g选项。 gcc中-g选项是为了获得有关调试信息,要用gdb进行调试,必须使用-g生成二进制可执行文件, gcc -g example.c -o example 这样就可以了,用gdb ...

Wed Aug 22 06:43:00 CST 2012 2 9149
编译原理系列之八 符号表

符号表 符号表用来体现作用域与可见性信息 符号表的作用: ① 收集符号属性;(词法分析) ② 上下文语义的合法性检查的依据;(语法分析) ③ 作为目标代码生成阶段地址分配的依据;(语义分析) 符号表中语言符号可分为关键字(保留字)符号,操作符符号及标识符符号 符号表中的标识符一般 ...

Tue Dec 25 22:32:00 CST 2018 0 616
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM