SAP Knowledge Base Article - Preview

2113781 - How to run the SQL Anywhere Diagnostic Utility (asadbgm) on Microsoft Windows to diagnose hangs or freezes

Symptom

About asadbgm

asadbgm is an internal SAP diagnostic tool, used to quickly generate an XML text file that summarizes the current activity inside the SQL Anywhere database server. It is a tool provided by SAP Support and deployed to customers under special diagnostic conditions. It is not a standard tool included with SQL Anywhere.

asadbgm produces information about:

  • The server/database counters (performance information)
  • The internal server thread tracing variables (internally blocked / waiting threads)
  • The execution stack trace of each execution thread

asadbgm works by attaching to the SQL Anywhere database server process, pauses execution of the process, then takes an internal ‘snapshot / dump file’ of the process.

When to use asadbgm

asadbgm is a very useful tool to help determine what is happening inside the database server when you can no longer connect to the server with a database client. (e.g. a ‘hung’ server, a ‘busy’ server, etc.)

Note: If you can still connect to the database server, there are likely other diagnostic actions that can be attempted before utilizing the asadbgm utility. Performance issues can be frequently diagnosed using Diagnostic Tracing.

Diagnosing these types of problems typically involves capturing a set of diagnostic dump files over a span of time and comparing the contents against each other to see if there are any deltas in the server behavior. Since full Windows dump files can be large in size and can take some time to open in a debugging environment once they have been sent to SAP, having the asadbgm XML output to quickly summarize the interesting aspects of the dump files (generated from the problematic environment) helps SAP to resolve issues faster.

asadbgm Components

The asadbgm utility is composed of four main components:

  • asadbgmX.exe
    • Where 'X' is the major version of SQL Anywhere
  • dbghelp.dll
    • A debugging DLL file that is provided by Microsoft and allows for processes to perform debugging tasks, such as collecting dump files and querying those dump objects.
    • This file was not present in 9.0.x SQL Anywhere deployments, but is present in 10.0.x full SQL Anywhere deployments and up. This file may still need to be deployed manually to the environment if you have created a custom-deployment.
    • If there is an error when unzipping/copying that suggests this file is in-use, just skip over the message – the current version of the file should be fine.
  • The SQL Anywhere Database Server symbol files (*.pdb)
    • Every DLL and EXE file in SQL Anywhere has an associated PDB file. These files are provided directly to you by an SAP support engineer through the course of an case where there are periods of inactivity on the database server.
    • When debugging, asadbgm must be able to find all of the PDB symbols for the database server process, including any loaded DLL files, inside the database server
    • asadbgm will try to load debugging symbols on the path(s) specified by the environment variable "_NT_SYMBOL_PATH"
  • symsrv.dll / The Microsoft Windows OS symbol files
    • These are provided by Microsoft from a public symbol server, over the Internet


Read more...

Environment

  • SQL Anywhere
  • Database server
  • Microsoft Windows

Product

SAP SQL Anywhere all versions ; SQL Anywhere all versions

Keywords

Sybase, SQL, Anywhere, SQLAny, SQA, SQLA, diagnose, diagnostic, hang, hangs, hung, MS, OS, asadbgm, database, db, server, performance, , KBA , BC-SYB-SQA , SQL Anywhere (on premise, on demand) , How To

About this page

This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP for Me (Login required).

Search for additional results

Visit SAP Support Portal's SAP Notes and KBA Search.