歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

在Ubuntu上用GDB調試printf源碼

Ubuntu中默認情況下庫函數是不帶調試信息的,所以用gdb無法進入到printf()函數裡。

解決辦法是:

1.安裝帶有調試信息的libc: sudo apt-get install libc6-dbg

2.下載libc源碼

a.選定一個放置源碼的目錄並進入,如 /home/kent/dev-os/libc6-source

b.執行sudo apt-get source libc6, 會把源碼下載到當前目錄中。 最後源碼目錄大概是:/home/kent/dev-os/libc6-source/eglibc-2.15

3.運行gdb時指定libc源碼目錄:gdb `find /home/kent/dev-os/libc6-source/eglibc-2.15 -type d -printf '-d %p '`  my_program

4.最後進入printf()函數即可. 我這裡看到的第一行代碼是

va_list arg;

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

Copyright © Linux教程網 All Rights Reserved