1. 程式人生 > >gdb 除錯方法

gdb 除錯方法

  1. (gdb) target remote localhost:1234
  2. Remote debugging using localhost:1234
  3. 0x40011384 in ?? ()
  4. (gdb) /mnt/android_proj/android_src/out/target/product/generic/symbols/system/bin/app_process
  5. Undefined command: "". Try "help".
  6. (gdb) file /mnt/android_proj/android_src/out/target/product/generic/symbols/system/bin/app_process

  7. A program is being debugged already.
  8. Are you sure you want to change the file? (y or n) y
  9. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/bin/app_process...done.
  10. (gdb) set solib-search-path /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib

  11. warning: Could not load shared library symbols for 3 libraries, e.g. /system/bin/linker.
  12. Use the "info sharedlibrary" command to see the complete listing.
  13. Do you need "set solib-search-path" or "set sysroot"?
  14. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/
    lib/libc.so...done.
  15. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libc.so
  16. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libstdc++.so...done.
  17. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libstdc++.so
  18. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libm.so...done.
  19. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libm.so
  20. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/liblog.so...done.
  21. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/liblog.so
  22. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libcutils.so...done.
  23. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libcutils.so
  24. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libz.so...done.
  25. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libz.so
  26. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libutils.so...done.
  27. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libutils.so
  28. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libbinder.so...done.
  29. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libbinder.so
  30. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libexpat.so...done.
  31. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libexpat.so
  32. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libcrypto.so...done.
  33. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libcrypto.so
  34. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libgabi++.so...done.
  35. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libgabi++.so
  36. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libicuuc.so...done.
  37. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libicuuc.so
  38. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libicui18n.so...done.
  39. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libicui18n.so
  40. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libssl.so...done.
  41. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libssl.so
  42. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libstlport.so...done.
  43. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libstlport.so
  44. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libnativehelper.so...done.
  45. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libnativehelper.so
  46. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libnetutils.so...done.
  47. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libnetutils.so
  48. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libGLESv2_dbg.so...done.
  49. Loaded symbols for /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libGLESv2_dbg.so
  50. Reading symbols from /mnt/android_proj/android_src/out/target/product/generic/symbols/system/lib/libEGL.so...done.
  51. Loaded symbols for /mnt

    相關推薦

    cuda-gdb 除錯方法:如何將cuda gdb除錯上下文聚焦在某個執行緒

    CUDA應用程式包含成千上萬個CUDA 執行緒,所有當我們要檢視某個指定執行緒的時候需要將cuda gdb 的上下文環境 聚焦在某個執行緒,可以採用如下命令: (cuda-gdb) cuda thread (128) cuda gdb 同時支援其他型別的上下文環境聚焦,

    linux應用程式設計筆記(1)gdb除錯方法及如何找出dbg.c程式中的錯誤

    摘要: 介紹了gdb偵錯程式以及其使用流程,總結了常用的幾個gdb除錯命令,最後使用這些方法找出dgb.c檔案中的錯誤。 一、gdb簡介     gdb是gnu釋出的一款功能強大的程式除錯工具,其主

    gdb 除錯方法

    (gdb) target remote localhost:1234 Remote debugging using localhost:1234 0x40011384 in ?? () (gdb) /mnt/android_proj/android_src/out/target/

    gdb除錯基本方法-----斷點

    編譯程式 在進行程式編譯時新增 -g 選項 例: gcc -g -Wall -o test -test.c 斷點 list 檢視程式碼 list可簡寫為 l 使用方法: list [檔名]:[行號] list [函式名] 命令執行後,

    gdb 除錯COREDUMP方法

    COREDUMP是NE程序的記憶體現場, 其中包含了出現NE時的區域性變數, 全域性變數等資訊, 這些資訊有助於我們結合程式碼分析問題。 gdb路徑 :prebuilts/gdb/linux-x86/bin/gdb 建議在原始碼根目錄下執行, 可以通過gdb檢視原始碼和列印變

    gdb 除錯工具 --- 使用方法淺析

    gdb 除錯工具使用方法淺析 1. 什麼是gdb gdb是GNU debugger的縮寫,是程式設計除錯工具。 2. gdb的功能 啟動程式,可以按照使用者自定義的要求隨心所欲的執行程式。 可讓被除錯的程式在使用者所指定的除錯斷點處停住(斷點可

    Linux核心之GDB基本除錯方法

    Oops[#1]:Cpu 0$ 0   : 00000000 10008d00 00000000 ffffffea$ 4   : fffffdfd 10008d01 00000001 00000000$ 8   : 00000000 7fed2e40 00001cb2 00000b3b$12   : 0003

    core的三種生成方法 和 使用core進行gdb除錯方法

    如果可以重複執行程式,那麼我們可以很方便的使用如下方法對程式重複執行開始進行gdb除錯: $gdb   (gdb) file ./a.out (gdb)run 假如出現問題的程式無法重複執行,但是有core檔案,無法通過上面的流程開始進行gdb除錯,可以使用core檔案進

    Linux段錯誤及GDB Coredump除錯方法

    最近在Linux環境下做C語言專案,由於是在一個原有專案基礎之上進行二次開發,而且專案工程龐大複雜,出現了不少問題,其中遇到最多、花費時間最長的問題就是著名的“段錯誤”(Segmentation Fault)。藉此機會系統學習了一下,這裡對Linux環境下的段錯誤做個小結,

    linux gdb執行不下去的程式除錯方法

    daemon程式一般都要停止父程序,重新設定會話,這樣的程式gdb到這裡就會結束,無法跟蹤到下一步。 要除錯這樣的程式有幾種方法: 1、這些程式一般都是有while迴圈或者等待阻塞(例如伺服器程式),這樣的話,一般的可以讓程式先執行起來,然後用gdb除錯子程式; 2、考慮另

    linux下shell程式設計除錯方法gdb工具的使用

    原帖:向日葵智慧前言windows 的介面操作非常豐富,對程式開發也是如此,各種強大的 IDE 真是非常方便。轉入 linux 程式設計後,沒有介面,用 vim gcc 搞程式開發,一開始還真是不適應。現在用的多了,反而習慣用 linux 開發了。但是,沒法除錯程式真是太痛苦

    gdb指令碼解決死鎖的除錯方法(由pthread_mutex_lock引起的死鎖)

    首先給出gdb定位死鎖的指令碼: #deadlock_debug_gdb.cmd set pagination off set logging file gdb.log set logging overwrite set logging on start

    GDB除錯Segment Fault的線上http程序的方法

    有些問題只有在大併發訪問量的線上機器上才能體現出來,測試機沒法重現。 我們可以使用GDB來解決這個問題。 首先在命令列啟動GDB GDB 然後輸入 attach http程序id 如果需要設定斷電的話,可以先執行stop,然後設定斷電 然後 輸入 c 或者 continue

    GDB除錯fork+exec建立的子程序的方法

    多程序是Linux程式設計中一個很重要的內容,典型的例子就是守護程序(daemon)。有關守護程序的定義和程式設計規範,請參考: 最常見的多程序的形式如下: pid = fork(); if (pid < 0) { // fork failed prin

    linux 下C/C++程式常用除錯方法(gdb)

    當然,我們可以把這些東西整合起來,比如在專案最終上線後,我們希望這個操作更加簡單,因為到了運營階段,操作者可能不是開發者,而是運維人員,我們希望用更簡單,直接的方式,把這些資訊提取出來,那就需要更進一步的工作了。我們之前採用的方法是:把dump的堆疊資訊寫的檔案中,然後使用shell讀取這些堆疊資訊,病使用a

    GDB除錯基礎使用方法

    > 儘管目前使用的VS code可以使用外掛一鍵構建和執行程式,但GDB作為除錯利器,還是值得花時間去學習的。 **概述** **GDB(GNU Debugger)** 是一個由GNU開源組織釋出的、UNIX/LINUX作業系統下的、基於命令列的、功能強大的程式除錯工具。 參考: [gdb除錯利器]

    Linux程式設計——gdb除錯

        上一篇文章中,我們學習了gcc編譯器的使用。本文,我們就講解 gdb 偵錯程式(Debug)的使用,它可以幫助我們找出程式之中的錯誤和漏洞等等。     當程式編譯完成後,它可能無法正常執行;或許程式會徹底崩潰;或許只是不能

    smali 除錯方法(動態除錯

    smali檔案 1.下圖為基本的smali結構 一個smali檔案對應一個class 2.欄位描述符‘ Java中Void在smali中對應V Void -> V 其他具體描述符參考下面表格: 下面貼上兩段例子程式碼對應看下: Androi

    mobile web頁面除錯方法

    此文已由作者張含會授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 開發過程問題排查 Chrome Emulation關鍵詞:使用方便 模擬各種裝置尺寸、畫素比、自定義userAgent 模擬觸控、經緯度、重力感應 模擬4g網路等不同型別的網路 browser-

    使用gdb除錯死鎖執行緒

    1.除錯檔案 lock.c   #include <stdio.h> #include <pthread.h> #include <unistd.h> void *work_thread(void *arg) { pthread_mutex_