Skip to main content

Introdunction

Debugging is an important aspect of IT.
We have to remember to follow the important 6 steps for debugging a problem:

1. The first step is to check that the error is reproducible.
2. Be sure that you know exactly what the problem is.
3. Check all of the “obvious” error sources.
4. Apply basic strategy of debugging:
Isolate the problem by dividing the operation into those parts that are working and those that are not.
"The best approach is to step through the process from BEGINNING TO END, comparing what should be happening with what is happening."
5. When you reach a dead end in debugging, it's time to reassess your info.
Question where wrongful assumptions/conclusions could have been made.
Carefully walk through process again.
Locating the bug can be a hard process.
Locating takes experimentation
6.Walk through process making sure all functions that should be happening are happening.
These 6 steps are very important to follow when debugging a problem on the computer. There is a difference between debugging and troubleshooting.
Troubleshooting: solving a problem, basically an end product of fixing a problem.
AND
Debugging: is the process/steps to solve the problem, such as: removing an error on the computer.
Example: A teacher is having a hard time starting the computer. By following the steps ask the teacher is he/she has the computer plugged in. It so happens that the computer was not plugged in. The process that the IT person took was the debugging process.
Troubleshooting: Figuring out the computer was not plugged in. The final product.

Dump Collections

Crash Dump Tools:
We have two to ways to collect crash dump.
1. Using Procdump process which provided by Microsoft sysinternal tools.
2. DebugDignostic collection tool.

Collecting Crash Dump using Procdump:
Procdump process: Its command line utility to collect crash dump. We can also capture hung status of application.
You can download this tool from below link.
https://docs.microsoft.com/en-us/sysinternals/downloads/procdump

For TMDS user please follow the below steps.
1. After download file please extract the zip file.(C:\Procdump)
2. Go to the extracted folder path open cmd and change path to C:\Procdump.
3.

Use this command to generate crash dump.
Provide Exception Code which you see during application crash captured in logs or error message dialog.
4. You will see the below output. Press ctrl+C to terminate the dump process.
You will get dump file inside dump folder once application crashes. (I took sample of notepad)


Collecting Crash dump using DebugDiag tools.


You can download from this link.
https://www.microsoft.com/en-us/download/confirmation.aspx?id=58210
Here is the steps to collect full crash dump using DebugDiag tool.

1. Open DebugDiag 2 collection.

2. Select Rule type to Crash and click on next.

3. Select Target type as A specific process.
4. Select Process from Process list. If the process name not exist, then add it manually. And click on Next.



5. In Advance configuration inside first chance exception choose full user dump. Then cleck on Exception button in advance setting.

6. Click on Add Exception button. And select access violation from configure exception list. Then save and close.


7. Click on Breakpoints. And then Add break point. And select Ntdll!ZwTerminateProcess and then click okay and save and close.


8. On Advance configuration dialog click next and change path of dump output folder wherever you wants.


9. Once click on next the rules get activated. You can see into main Dialog


10. Every application crash increases the userdump count and dump file saved to output folder path.

Comments