3.2.7
Checking Arguments Passed to an Extension ............... 3–7
3.2.8
Checking the Fields in a Structure ............................
3–7
3.2.9
Setting the kdbx Context .... ... ................................
3–8
3.2.10
Passing Commands to the dbx Debugger ..... ................ 3–9
3.2.11
Dereferencing a Pointer ........... ..............................
3–9
3.2.12
Displaying the Error Messages Stored in Fields ..... ... ... .
3–10
3.2.13
Converting a Long Address to a String Address ........ ... . 3–10
3.2.14
Freeing Memory . .................................................
3–11
3.2.15
Passing Commands to the kdbx Debugger ................... 3–11
3.2.16
Getting the Address of an Item in a Linked List ........ ... . 3–13
3.2.17
Passing an Extension to kdbx .................................. 3–14
3.2.18
Getting the Next Token as an Integer ....... ................. 3–14
3.2.19
Getting the Next Token as a String .. ......................... 3–15
3.2.20
Displaying a Message .... ... ... ................................. 3–16
3.2.21
Displaying Status Messages ... ... .............................. 3–16
3.2.22
Exiting from an Extension ...................................... 3–17
3.2.23
Reading the Values in Structure Fields ... ................... 3–17
3.2.24
Returning a Line of kdbx Output .............................. 3–18
3.2.25
Reading an Area of Memory .................................... 3–18
3.2.26
Reading the Response to a kdbx Command .................. 3–19
3.2.27
Reading Symbol Representations .............................. 3–20
3.2.28
Reading a Symbol’s Address .... ... ............................. 3–20
3.2.29
Reading the Value of a Symbol . ................................ 3–21
3.2.30
Getting the Address of a Data Representation . ... .......... 3–21
3.2.31
Converting a String to a Number . ............................. 3–22
3.3
Examples of kdbx Extensions ...... ... .............................. 3–22
3.4
Compiling Custom Extensions .. ... ... .............................. 3–35
3.5
Debugging Custom Extensions ..................................... 3–36
4 Crash Analysis Examples
4.1
Guidelines for Examining Crash Dump Files .... ................ 4–1
4.2
Identifying a Crash Caused by a Software Problem ... ... ... .... 4–2
4.2.1
Using dbx to Determine the Cause of a Software Panic ... 4–2
4.2.2
Using kdbx to Determine the Cause of a Software Panic .. 4–3
4.3
Identifying a Hardware Exception . ... ............................. 4–4
4.3.1
Using dbx to Determine the Cause of a Hardware Error . . 4–4
4.3.2
Using kdbx to Determine the Cause of a Hardware Error 4–7
4.4
Finding a Panic String in a Thread Other Than the Current
Thread . ... ... ........................................................... 4–8
4.5
Identifying the Cause of a Crash on an SMP System ..... ... ... 4–9
Contents v
Comentarios a estos manuales