Changes between Version 4 and Version 5 of MacBacktrace
- Timestamp:
- Mar 25, 2008, 5:55:32 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MacBacktrace
v4 v5 22 22 The BOINC Manager's executable is inside its bundle. 23 23 You can replace the 32-bit Intel manager on the command line thus: 24 25 26 24 {{{ 25 sudo cp [path]/BOINCManager_i386 /Applications/BOINCManager.app/Contents/MacOS/BOINCManager 26 }}} 27 27 You should then confirm that the ownership and permissions have not changed: 28 {{{ 28 29 ls -al /Applications/BOINCManager.app/Contents/MacOS 30 }}} 29 31 and you should see something like this: 32 {{{ 30 33 -r-xr-sr-x 1 boinc_master boinc_master 9197816 Mar 12 03:04 BOINCManager 34 }}} 31 35 32 36 Note that you must rename the unstripped executable to have the same file name as the original. … … 40 44 This will work for project applications as well as the BOINC Manager and Client, but not for separate .dSYM files: 41 45 42 For example, to find a symbol in BOINC Manager version 5.10.45, at the command line in the Terminal application, first enter: 43 atos -o [path]/boinc_5.10.45_macOSX_SymbolTables/SymbolTables/BOINCManager_i386 46 For example, to find a symbol in BOINC Manager version 5.10.45, at the command line in the Terminal application, first enter: 47 {{{ 48 atos -o [path]/boinc_5.10.45_macOSX_SymbolTables/SymbolTables/BOINCManager_i386 49 }}} 44 50 then enter any number of hex values separated by spaces or carriage returns. For example, entering the following: 45 0x0009dc57 0x0009de45 0x000151f1 0x0007210a 51 {{{ 52 0x0009dc57 0x0009de45 0x000151f1 0x0007210a 53 }}} 46 54 will give the following output: 47 QCRGetBacktraceAtIndex (in BOINCManager_i386) (QCrashReport.c:623) 48 QCRPrintBacktraces (in BOINCManager_i386) (QCrashReport.c:756) 49 boinc_catch_signal (in BOINCManager_i386) (diagnostics.C:554) 50 CProgressBar::UpdateValue(double) (in BOINCManager_i386) (sg_ProgressBar.cpp:104) 55 {{{ 56 QCRGetBacktraceAtIndex (in BOINCManager_i386) (QCrashReport.c:623) 57 QCRPrintBacktraces (in BOINCManager_i386) (QCrashReport.c:756) 58 boinc_catch_signal (in BOINCManager_i386) (diagnostics.C:554) 59 CProgressBar::UpdateValue(double) (in BOINCManager_i386) (sg_ProgressBar.cpp:104) 60 }}} 51 61 52 62 == Use the GDB debugger to convert hex addresses to symbols == #gdb … … 55 65 56 66 If the symbols are in the same file as the executable, or if the separate .dSYM file is in the same directory as the executable, first enter the following on the command line in the Terminal application: 57 gdb [path to executable file] 67 {{{ 68 gdb [path to executable file] 69 }}} 58 70 If the executable file is not in the same directory as the .dSYM file, do this instead: 59 gdb 60 symbol [path to .dSYM file] 71 {{{ 72 gdb 73 symbol [path to .dSYM file] 74 }}} 61 75 62 76 Then, for each hex address of the form 0x12345678, enter the following: 63 info line *0x12345678 77 {{{ 78 info line *0x12345678 79 }}} 64 80 Be sure to include the asterisk! 65 81