{"id":415,"date":"2025-07-29T10:32:20","date_gmt":"2025-07-29T02:32:20","guid":{"rendered":"https:\/\/blog.kishere.cn\/?p=415"},"modified":"2025-07-29T10:35:31","modified_gmt":"2025-07-29T02:35:31","slug":"415","status":"publish","type":"post","link":"https:\/\/blog.kishere.cn\/?p=415","title":{"rendered":"GDB\u64cd\u4f5c\u6307\u5357"},"content":{"rendered":"<h3>1. \u7f16\u8bd1\u65f6\u4f7f\u7528 :<\/h3>\n<pre><code class=\"language-bash line-numbers\">gcc test.c -g -o app\n<\/code><\/pre>\n<p>\u8ba9\u7a0b\u5e8f\u5e26\u6709\u8c03\u8bd5\u4fe1\u606f<\/p>\n<h3>2. \u7136\u540e\u6253\u5f00\u7a0b\u5e8f :<\/h3>\n<pre><code class=\"language-bash line-numbers\">gdb app\ngdb attch (pid)\n<\/code><\/pre>\n<h3>3. \u663e\u793a\u4ee3\u7801<\/h3>\n<pre><code class=\"language-bash line-numbers\">l\nlist\n<\/code><\/pre>\n<p>\u4e24\u4e2a\u90fd\u53ef\u4ee5<br \/>\n\u9ed8\u8ba4\u663e\u793amain\u51fd\u6570\u6240\u5728\u7684\u6587\u4ef6<\/p>\n<pre><code class=\"language-bash line-numbers\">show list size\nset listsize 20\n<\/code><\/pre>\n<p>\u67e5\u770b\u9ed8\u8ba4\u663e\u793a\u884c\u6570<br \/>\n\u8bbe\u7f6e\u9ed8\u8ba4\u663e\u793a\u884c\u6570\u4e3a20\u884c<\/p>\n<pre><code class=\"language-bash line-numbers\">l 5\n<\/code><\/pre>\n<p>\u663e\u793a\u7b2c5\u884c\u524d\u540e\u7684\u4ee3\u7801<\/p>\n<pre><code class=\"language-bash line-numbers\">l TestFunc\n<\/code><\/pre>\n<p>\u663e\u793aTestFunc\u51fd\u6570\u7684\u5185\u5bb9<\/p>\n<pre><code class=\"language-bash line-numbers\">l add.c:15\n<\/code><\/pre>\n<p>\u663e\u793aadd.c\u4e2d\u7b2c15\u884c\u9644\u8fd1\u7684\u5185\u5bb9<\/p>\n<h3>4. \u65ad\u70b9<\/h3>\n<pre><code class=\"language-bash line-numbers\">b 12\nbreak 12\nb add.c:12\nb add.c:TeatFunc\n<\/code><\/pre>\n<p>\u572812\u884c\u4e0b\u65ad\u70b9<br \/>\n\u5728add\u6587\u4ef612\u884c\u4e0b\u65ad\u70b9<br \/>\n\u5728add\u6587\u4ef6\u7684TestFunc\u51fd\u6570\u4e0b\u65ad\u70b9<\/p>\n<pre><code class=\"language-bash line-numbers\">b 12 if i==10\n<\/code><\/pre>\n<p>\u572812\u884c\u4e0b\u65ad\u70b9, \u65ad\u70b9\u5728i=10\u65f6\u624d\u751f\u6548<\/p>\n<pre><code class=\"language-bash line-numbers\">infor b\ni b\n<\/code><\/pre>\n<p>\u67e5\u770b\u65ad\u70b9<\/p>\n<pre><code class=\"language-bash line-numbers\">del 1\nd 1 2 3\nd 4-7\n<\/code><\/pre>\n<p>\u5220\u9664\u7b2c\u4e00\u4e2a\u65ad\u70b9<br \/>\n\u5220\u9664\u7b2c1 2 3 \u4e2a\u65ad\u70b9<br \/>\n\u5220\u9664\u7b2c4-\u7b2c7\u4e2a\u65ad\u70b9<\/p>\n<pre><code class=\"language-bash line-numbers\">dis 1\nena 1\n<\/code><\/pre>\n<p>\u8bbe\u7f6e\u7b2c1\u4e2a\u65ad\u70b9\u4e3a\u65e0\u6548\u65ad\u70b9<br \/>\n\u8bbe\u7f6e\u7b2c1\u4e2a\u65ad\u70b9\u4e3a\u6709\u6548\u65ad\u70b9<\/p>\n<h3>5. \u67e5\u770b\u53d8\u91cf<\/h3>\n<pre><code class=\"language-bash line-numbers\">p i\n<\/code><\/pre>\n<p>\u67e5\u770b\u53d8\u91cfi\u7684\u503c<\/p>\n<h3>6. \u6267\u884c\u7a0b\u5e8f<\/h3>\n<pre><code class=\"language-bash line-numbers\">n\nnext\nsetp\n<\/code><\/pre>\n<p>\u5355\u6b65\u8c03\u8bd5<br \/>\nstep\u4f1a\u8fdb\u5165\u51fd\u6570\u4f53<br \/>\nnext\u4e0d\u8fdb\u5165\u51fd\u6570\u4f53<\/p>\n<pre><code class=\"language-bash line-numbers\">c\ncontinue\n<\/code><\/pre>\n<p>\u7ee7\u7eed\u8fd0\u884c, \u76f4\u5230\u9047\u5230\u4e0b\u4e00\u4e2a\u65ad\u70b9<\/p>\n<pre><code class=\"language-bash line-numbers\">ctrl + c\n<\/code><\/pre>\n<p>\u6682\u505c\u7a0b\u5e8f<\/p>\n<h3>7. \u5176\u4ed6<\/h3>\n<pre><code class=\"language-bash line-numbers\">bt\n<\/code><\/pre>\n<p>\u67e5\u770b\u51fd\u6570\u8c03\u7528\u5806\u6808<\/p>\n<pre><code class=\"language-bash line-numbers\">gdb (app_name) (core_dump_name)\n<\/code><\/pre>\n<p>\u8c03\u8bd5core_dump\u6587\u4ef6<\/p>\n<pre><code class=\"language-bash line-numbers\">ulimit -c unlimited\n<\/code><\/pre>\n<p>\u89e3\u9664core_dump\u6587\u4ef6\u5927\u5c0f\u9650\u5236<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. \u7f16\u8bd1\u65f6\u4f7f\u7528 : gcc test.c -g -o app \u8ba9\u7a0b\u5e8f\u5e26\u6709\u8c03\u8bd5\u4fe1\u606f 2. \u7136\u540e\u6253\u5f00\u7a0b\u5e8f : gdb app gdb attch (pid) 3. \u663e\u793a\u4ee3\u7801 l list \u4e24\u4e2a\u90fd\u53ef\u4ee5 \u9ed8\u8ba4\u663e\u793amain\u51fd\u6570\u6240\u5728\u7684\u6587\u4ef6 show list size set listsize 20 \u67e5\u770b\u9ed8\u8ba4\u663e\u793a\u884c\u6570 \u8bbe\u7f6e\u9ed8\u8ba4\u663e\u793a\u884c\u6570\u4e3a20\u884c l 5 \u663e\u793a\u7b2c5\u884c\u524d\u540e\u7684\u4ee3\u7801 l TestFunc \u663e\u793aTestFunc\u51fd\u6570\u7684\u5185\u5bb9 l add.c:15 \u663e\u793aadd.c\u4e2d\u7b2c15\u884c\u9644\u8fd1\u7684\u5185\u5bb9 4. \u65ad\u70b9 b 12 break 12 b add.c:12 b add.c:TeatFunc \u572812\u884c\u4e0b\u65ad\u70b9 \u5728add\u6587\u4ef612\u884c\u4e0b\u65ad\u70b9 \u5728add\u6587\u4ef6\u7684TestFunc\u51fd\u6570\u4e0b\u65ad\u70b9 b 12 if i==10 \u572812\u884c\u4e0b\u65ad\u70b9, \u65ad\u70b9\u5728i=10\u65f6\u624d\u751f\u6548 infor b i b \u67e5\u770b\u65ad\u70b9 del 1 d 1 2 3 d 4-7 \u5220\u9664\u7b2c\u4e00\u4e2a\u65ad\u70b9 \u5220\u9664\u7b2c1 2 3 \u4e2a\u65ad\u70b9 \u5220\u9664\u7b2c4-\u7b2c7\u4e2a\u65ad\u70b9 dis 1 ena 1 \u8bbe\u7f6e\u7b2c1\u4e2a\u65ad\u70b9\u4e3a\u65e0\u6548\u65ad\u70b9 \u8bbe\u7f6e\u7b2c1\u4e2a\u65ad\u70b9\u4e3a\u6709\u6548\u65ad\u70b9 5. \u67e5\u770b\u53d8\u91cf p i \u67e5\u770b\u53d8\u91cfi\u7684\u503c 6. \u6267\u884c\u7a0b\u5e8f n next setp \u5355\u6b65\u8c03\u8bd5 step\u4f1a\u8fdb\u5165\u51fd\u6570\u4f53 next\u4e0d\u8fdb\u5165\u51fd\u6570\u4f53 c continue \u7ee7\u7eed\u8fd0\u884c, \u76f4\u5230\u9047\u5230\u4e0b\u4e00\u4e2a\u65ad\u70b9 ctrl + c \u6682\u505c\u7a0b\u5e8f 7. \u5176\u4ed6 bt \u67e5\u770b\u51fd\u6570\u8c03\u7528\u5806\u6808 gdb (app_name) (core_dump_name) \u8c03\u8bd5core_dump\u6587\u4ef6 ulimit -c unlimited \u89e3\u9664core_dump\u6587\u4ef6\u5927\u5c0f\u9650\u5236<\/p>\n","protected":false},"author":1,"featured_media":198,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[11],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.kishere.cn\/index.php?rest_route=\/wp\/v2\/posts\/415"}],"collection":[{"href":"https:\/\/blog.kishere.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.kishere.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.kishere.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.kishere.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=415"}],"version-history":[{"count":2,"href":"https:\/\/blog.kishere.cn\/index.php?rest_route=\/wp\/v2\/posts\/415\/revisions"}],"predecessor-version":[{"id":417,"href":"https:\/\/blog.kishere.cn\/index.php?rest_route=\/wp\/v2\/posts\/415\/revisions\/417"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.kishere.cn\/index.php?rest_route=\/wp\/v2\/media\/198"}],"wp:attachment":[{"href":"https:\/\/blog.kishere.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kishere.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kishere.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}