Changes between Version 1 and Version 2 of DebugClientWin


Ignore:
Timestamp:
Apr 25, 2007, 12:36:07 PM (17 years ago)
Author:
Nicolas
Comment:

Required manual changes to automatic conversion.

Legend:

Unmodified
Added
Removed
Modified
  • DebugClientWin

    v1 v2  
    11= Debugging the BOINC Windows client =
    22
     3== Symbol Files ==
     4Symbol files are used by various Windows debugging engines to match up memory addresses to symbol names. Symbol names are names of variables,  functions, and subroutines that a developer has named a piece of code before the compilation process.
    35
    4 == Symbol Files ==
    5  Symbol files are used by various Windows debugging engines to match up memory addresses to symbol names. Symbol names are names of variables,  functions, and subroutines that a developer has named a piece of code before the compilation process.
    6 
    7 Symbol files for BOINC can be found here:[http://boinc.berkeley.edu/dl/ http://boinc.berkeley.edu/dl/]
     6Symbol files for BOINC can be found on [http://boinc.berkeley.edu/dl/ http://boinc.berkeley.edu/dl/]
    87
    98The files generally start out like boinc_xxx_pdb.zip where the xxx is  the version of BOINC you are running.
     
    1110The uncompressed files should be stored in the same directory as BOINC.
    1211
     12== Crashes ==
     13If either BOINC or the BOINC Manager crash, (they unexpectedly stop running or disappear), there should be some diagnostic information recorded in stderrdae.txt for BOINC and stderrgui.txt for the BOINC Manager.
    1314
    14 == Crashes ==
    15  If either BOINC or the BOINC Manager crash,  (they unexpectedly stop running or disappear), there should be some diagnostic information recorded in stderrdae.txt for  BOINC and stderrgui.txt for the BOINC Manager.
    16 
    17 The diagnostic information we are looking for is called a call stack which  is described below.
    18 
     15The diagnostic information we are looking for is called a call stack which is described below.
    1916
    2017== Call stacks ==
    21  Call stacks help us identify where the problem is by telling us which file and what line number in the source code the error occurred in.
     18Call stacks help us identify where the problem is by telling us which file and what line number in the source code the error occurred in.
    2219
    2320Here is an example of a good call stack:
    24 
    2521
    2622{{{
     
    32281: c:\boincsrc\main\boinc\client\client_state.c(431) +0 bytes (CLIENT_STATE::do_something)
    3329}}}
    34   Here is an example of a bad call stack:
    3530
     31Here is an example of a bad call stack:
    3632
    3733{{{
     
    4743
    4844== Extracting call stacks ==
    49  If we need a call stack to help solve a problem that doesn't manifest itself as a crash you can still extract a call stack from a running program using some freeware tools Microsoft publishes called Debugging Tools for Windows.
    5045
    51 The Debugging Tools for Windows can be found here: [http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx Debugging Tools for Windows]
     46If we need a call stack to help solve a problem that doesn't manifest itself as a crash you can still extract a call stack from a running program using some freeware tools Microsoft publishes called Debugging Tools for Windows.
     47
     48The Debugging Tools for Windows can be found on  [http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx Debugging Tools for Windows]
    5249
    5350Once these tools are installed on your machine and the symbol files are extracted to the BOINC installation directory you can run 'WinDBG.exe' and attach to the 'BOINC.exe' process through the file menu to begin your debugging session. Once 'WinDBG.exe' has attached itself  to 'BOINC.exe' you can view the call stack by typing 'kb' in the command window and then hitting enter.
     
    72690012fff0 00000000 00431aca 00000000 78746341 kernel32!BaseProcessStart+0x23
    7370}}}
    74   Warning: You may need to add the BOINC directory to 'WinDBG.exe' symbol search path from the File menu in order to get a valid call stack.
    7571
     72Warning: You may need to add the BOINC directory to 'WinDBG.exe' symbol search path from the File menu in order to get a valid call stack.