//Cloud notes from my desk -Maheshk

"Fortunate are those who take the first steps.” ― Paulo Coelho

Debugging tools -cheat sheat

TOOLS

  1. Performance Monitor -( part of OS, helps to know the app health. Run >Perfmon )
  2. PAL – (Performance Analysis of Logs -http://pal.codeplex.com/ )
  3. Process Monitor – (capture of process details, including image path, command line, user and session ID, downloaded from technet site)
  4. Process Explorer -(captures cpu usage, dll info, handles)
  5. MPSReport ( batch utility to automate the gathering of diagnostic information from Windows for troubleshooting.-from MSFT site)
  6. SPSReport (SPS Reporting Tool is utilized to gather detailed information regarding a systems current configuration-http://www.codeplex.com/spsreport)
  7. SPDisposeCheck (assist you dig through your custom SharePoint MSIL assemblies)
  8. Dependency Walker (http://www.dependencywalker.com/)  Useful for troubleshooting system errors related to loading and executing modules
  9. SQL Nexus (Tool for isolating problems on the SQL Server side -http://www.codeplex.com/sqlnexus)
  10. CLRProfiler (focused on managed heap, Who allocates what,What objects survive,What is on the heap,Who is holding on to objects)
  11. LogParser -universal query access to text-based data such as log files, XML files and CSV files
  12. Indihiang (Great tool to analyze IIS logs – http://indihiang.codeplex.com/)
  13. PowerShell – scripting language, less code than Jscript or vbscript, greate for admin and dev’s -http://blogs.msdn.com/powershell/)
  14. Application Verifier –  Whether there are memory corruptions or issues in the heap, invalid handles, critical sec – for native coded app debugging
  15. Logger/LogViewer – logs every API call done by the target application

 

ADVANCED TOOLS

  1. XPerf – Windows Performance Analyzer – efficient tracing infrastructure provided by Windows
  2. PerfView – Low Level Profiler for .NET applications
  3. DebugDiag – Debug Diagnostic – Crash rule,IIS Performance rule,Memory and Handle Leak rule ,Manual Dump collection ,Automated Analysis feature
  4. ProcDump – Process Dump ( C:\>procdump -h hang.exe hungwindow.dmp)-collect dump files when a specific application is consuming high CPU
  5. WinDbg – Windows Debugging Tools -Psscor2.dll ,Sosex.dll ,
  6. WinDbg Scripts – Automate the Debugging -http://blogs.msdn.com/debuggingtoolbox/
  7. Netmon – Microsoft Network Monitor – Easy way to visualize HTTP, TCP/IP and other types of network communication
  8. Fiddler – HTTP Debugger Proxy-Web Debugging Proxy which logs all HTTP(S) traffic between your computer and the Internet.

 

Some of the .NET debugging videos also here – http://channel9.msdn.com/Series/-NET-Debugging-Stater-Kit-for-the-Production-Environment. For more ref, read from here.

2012-10-10 Posted by | windbg | Leave a comment

Info regarding gflags to catch heap issues(Windbg)

This post is about info regarding gflags to catch hard to find heap corruption issues. Here are the two articles that explain the steps.

http://web.lookout.net/2008/05/fuzzing-and-detecting-heap-corruption.html#!/2008/05/fuzzing-and-detecting-heap-corruption.html

http://blogs.msdn.com/b/webdav_101/archive/2010/06/22/detecting-heap-corruption-using-gflags-and-dumps.aspx

In steps,

1) Shutdown or close your “Winword.exe” or any target process that we are trying to analyze

2) Launch Appverifier and specify the following.

Setup gflags [options] process name  module name this is preferred if you know which module.

3) For if component “Spellcheck in Word” is a suspect example:-

  gflags –p /enable winword.exe /full /dlls spellcheck.dll or

4) If we have no clue what is causing the heap corruption then track the whole process.

  gflags –p /enable winword.exe /full

5)Make sure to launch the target application with windbg.

6) Monitor all access violations caught in windbg.

2012-10-04 Posted by | windbg | Leave a comment