Changes between Version 4 and Version 5 of MacBacktrace


Ignore:
Timestamp:
Mar 25, 2008, 5:55:32 PM (16 years ago)
Author:
Nicolas
Comment:

More monospaced blocks

Legend:

Unmodified
Added
Removed
Modified
  • MacBacktrace

    v4 v5  
    2222The BOINC Manager's executable is inside its bundle. 
    2323You can replace the 32-bit Intel manager on the command line thus:
    24 
    25    sudo cp [path]/BOINCManager_i386 /Applications/BOINCManager.app/Contents/MacOS/BOINCManager
    26 
     24{{{
     25sudo cp [path]/BOINCManager_i386 /Applications/BOINCManager.app/Contents/MacOS/BOINCManager
     26}}}
    2727You should then confirm that the ownership and permissions have not changed:
     28{{{
    2829ls -al /Applications/BOINCManager.app/Contents/MacOS
     30}}}
    2931and you should see something like this:
     32{{{
    3033-r-xr-sr-x  1 boinc_master  boinc_master  9197816 Mar 12 03:04 BOINCManager
     34}}}
    3135
    3236Note that you must rename the unstripped executable to have the same file name as the original.
     
    4044This will work for project applications as well as the BOINC Manager and Client, but not for separate .dSYM files:
    4145
    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
     46For example, to find a symbol in BOINC Manager version 5.10.45, at the command line in the Terminal application, first enter:
     47{{{
     48atos -o [path]/boinc_5.10.45_macOSX_SymbolTables/SymbolTables/BOINCManager_i386
     49}}}
    4450then enter any number of hex values separated by spaces or carriage returns.  For example, entering the following:
    45    0x0009dc57 0x0009de45 0x000151f1 0x0007210a
     51{{{
     520x0009dc57 0x0009de45 0x000151f1 0x0007210a
     53}}}
    4654will 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{{{
     56QCRGetBacktraceAtIndex (in BOINCManager_i386) (QCrashReport.c:623)
     57QCRPrintBacktraces (in BOINCManager_i386) (QCrashReport.c:756)
     58boinc_catch_signal (in BOINCManager_i386) (diagnostics.C:554)
     59CProgressBar::UpdateValue(double) (in BOINCManager_i386) (sg_ProgressBar.cpp:104)
     60}}}
    5161
    5262== Use the GDB debugger to convert hex addresses to symbols == #gdb
     
    5565
    5666If 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{{{
     68gdb [path to executable file]
     69}}}
    5870If 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{{{
     72gdb
     73symbol [path to .dSYM file]
     74}}}
    6175
    6276Then, for each hex address of the form 0x12345678, enter the following:
    63    info line *0x12345678
     77{{{
     78info line *0x12345678
     79}}}
    6480Be sure to include the asterisk!
    6581