2012-02-12 14 views
66

मैं जब gdb में एक ब्रेकपाइंट जोड़ने की कोशिश कर इस त्रुटि mesage मिलती रहती है।gdb: "कोई प्रतीक तालिका भरी हुई है"

मैं इन आदेशों का उपयोग किया है संकलित करने के लिए:

gcc -g main.c utmpib2.c -o main.o 
and: 
cc -g main.c utmpib2.c -o main.o 
and also: 
g++ -g main.c utmpib2.c -o main.o 

मैं भी करने की कोशिश की "-ggdb" के बदले "जी" और मैं अभी भी है कि त्रुटि संदेश मिलता है।

$gdb 

gdb में:

मैं तो gdb निष्पादित

सभी की
(gdb)exec-file main.o 
(gdb)break 59 
No symbol table is loaded. Use the "file" command. 
+3

'-o main.c'? आपको अपने कंपाइलर विकल्पों की जांच करनी होगी। क्या वह clobber 'main.c' किसी भी तरह से नहीं होगा? – FatalError

+0

ओह मेरा मतलब मुख्य.ओ. मैंने इसे अपडेट किया। मैंने "-ggdb" का उपयोग करने का भी प्रयास किया और यह अभी भी मुझे एक ही समस्या दे रहा है। – user994165

+0

हमें दिखाएं कि आप जीसीसी और जीडीबी का आविष्कार कैसे कर रहे हैं। किसी भी erors से बचने के लिए कॉपी पेस्ट। –

उत्तर

46

सबसे पहले, क्या आप एक पूरी तरह से संकलित कार्यक्रम, नहीं एक वस्तु फ़ाइल है, इसलिए छोड़ .o विस्तार। अब, त्रुटि संदेश कहने पर ध्यान दें, यह आपको बिल्कुल आपकी समस्या को ठीक करने का तरीका बताता है: "कोई प्रतीक तालिका लोड नहीं होती है। " फ़ाइल "कमांड का उपयोग करें।"

(gdb) exec-file test 
(gdb) b 2 
No symbol table is loaded. Use the "file" command. 
(gdb) file test 
Reading symbols from /home/user/test/test...done. 
(gdb) b 2 
Breakpoint 1 at 0x80483ea: file test.c, line 2. 
(gdb) 

या बस कमांड लाइन पर प्रोग्राम पास करें।

$ gdb test 
GNU gdb (GDB) 7.4 
Copyright (C) 2012 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
[...] 
Reading symbols from /home/user/test/test...done. 
(gdb) b 2 
Breakpoint 1 at 0x80483ea: file test.c, line 2. 
(gdb) 
98

आपको अतिरिक्त पैरामीटर-जी जोड़ना होगा, जो स्रोत स्तर डीबग जानकारी उत्पन्न करता है। यह इस तरह दिखेगा:

gcc -g prog.c 

इसके बाद आप सामान्य तरीके से जीडीबी का उपयोग कर सकते हैं।

+15

मेरे मामले में, इस जवाब ने मेरे लिए समस्या हल की, जबकि स्वीकृत उत्तर में कोई फर्क नहीं पड़ता। – frankster

+4

मेरे लिए भी काम कर रहा है .. – kapilddit

7

मैं एक ही समस्या है और मैं इस Post पीछा किया, यह मेरी समस्या हल।

निम्नलिखित 2 चरणों का पालन करें:

  1. यकीन है कि अनुकूलन के स्तर का है, जब अपने कार्यक्रम

गुड लक संकलन -O0

  • -ggdb झंडा जोड़े बनाओ!

  • संबंधित मुद्दे