本帖最后由 ifosn 于 2010-05-06 13:05 编辑 我有三个文件:Makefile如下 A: A.c A.h B.o C.o gcc -lm -ggdb -o A A.c B.o C.o B: B.c B.h gcc -ggdb -o B.o B.c C: C.c C.h gcc -ggdb -o C.o C.h 我希望调B中的一个函数,先b function_name,然后运行到该断点,再step,想进入函数,但是提示: Single stepping until exit from function XXX, which has no line number information. 没有行信息,但是我编译和链接是都加...
by ifosn - C/C++ - 2010-05-06 19:47:56 阅读(2615) 回复(4)
比如说我在main.c里调用sayhello.c里实现的函数say_hello(),应该怎么跟踪呢? 列出文件main.c内容 查看say_helo的行数 list main.c:line_number 在文件main.c的第line_number行设置断点 break main.c:line_number 走到say_hello的时候,用s进入say_hello 然后用next单步跟踪 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/11702/showart_302270.html
一个程序Makefile如下: # # makefile for layer3 # OBJS = layer3.o common.o decode.o huffman.o play: $(OBJS) gcc -g -o play $(OBJS) -lm layer3.o: common.h decode.h common.o: common.h decode.o: decode.h common.h huffman.h huffman.o: huffman.h common.h .PHONY: clean clean: rm paly $(OBJS) ================================= gdb file play l l ../sysdeps/i386/elf/start.S: No such file or d...
gdb是Linux中强大的程序调试工具,熟练掌握该软件的使用对软件开发有很大的帮助,gdb的使用很简单,但想要使用gdb调试的程序必需在编 译的时候加了调试选项(-g),这样一来要对程序进行调试就要对gcc编译选项中加上这一参数,如果直接在终端中用命令编译(不写makefile),那 么语法很简单,如下: 单文件(如main.c):gcc -g main.c -o main或gcc -o main main.c -g 多文件(如main.c func.c func.h):gcc -g func.c main.c -o m...
我的emacs 是 GNU Emacs 22.2.1 (i486-pc-linux-gnu, X toolkit, Xaw3d scroll bars) .emacs中的配置 ;; gdb (setq toolbar-mode t) ;display the gdb toolbar (setq gdb-many-windows t) ;gdb many windows mode (load-library "multi-gud.el") (load-library "multi-gdb-ui.el") 调试单个文件的时候是没问题的,但是调试多个文件的时候就报错,不知道怎么回事? 单文件 Makefile sample sample.c sample.o semantic.cache 编...
我在调试时用list命令只能看到一个文件的代码,当我用 list test.c:1 查看代码时它却提示No source file named test.c 大家知道时什么原因吗? (我的执行程序和所有源代码文件都是同一个目录)
一直对gdb多线程调试接触不多,最近因为工作有了一些接触,简单作点记录吧。 先介绍一下gdb多线程调试的基本命令。 info threads 显示当前可调试的所有线程,每个线程会有一个gdb为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。 thread ID 切换当前调试的线程为指定ID的线程。 break thread_test.c:123 thread all在所有线程中相应的行上设置断点thread apply ID1 ID2 command 让一个或者多个线程执行...
gdb 多线程调试基本命令 实现简介 以及一个问题的解决 [email=teawater@gmail.com]teawater@gmail.com[/email] 一直对gdb多线程调试接触不多,最近因为工作有了一些接触,简单作点记录吧。 先介绍一下gdb多线程调试的基本命令。 info threads 显示当前可调试的所有线程,每个线程会有一个gdb为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。 thread ID 切换...