Welcome

Welcome Debug Diagnostics Tool 2.1 DebugDiag

The Debug Diagnostic Tool is designed to assist in troubleshooting issues such as hangs, slow performance, memory leaks or fragmentation, and crashes in any Windows user-mode process. The new set of tools include a new .Net analysis engine, a beta version of the rule builder designer to create custom rules without writing code, and additional debugging analysis rules algorithms focused on Internet Information Services (IIS) applications, web data access components, COM+ and related Microsoft technologies.

Debug Diagnostic Tool Overview

The main window of the collection tool has two different tabs, one used for review data collection rules, and a Processes view that allows you to browse processes, collect dumps, and stop processes that are running on the machine. For data collection, rules are configured for the type of problem you are troubleshooting.

Starting on version 2.0 the dump analysis functionality has been integrated on a new user interface. The new advanced analysis tool is used to analyze and report helpful information on the data that is collected.

The three primary problems DebugDiag aides in troubleshooting are process crashes, process performance, and memory leaks.

  • Process Crashes

    The crash monitoring feature is designed to help determine why a process terminated unexpectedly. Similar to previous debuggers it will attach to a specific process and will monitor the process for multiple types of exceptions that cause a process to terminate unexpectedly. When a crash occurs, a full memory dump file will be created, in the directory specified when setting up the crash rule, for troubleshooting.

  • Process Performance

    The performance monitoring feature is designed for troubleshooting performance issues for a specific process, or slow HTTP Response times. To troubleshoot slow HTTP Response times, a performance rule is created where a specific URL is monitored. If the URL does not respond in the configured time a process dump will be generated for the processes configured in the performance rule. A manual hang dump can also be generated by right clicking a process in process view and choosing create full dump.

  • Memory Leaks

    The memory leak monitoring feature is designed to track memory allocations for a process. This feature should be used when a process on the system continues to grow in memory until the system becomes un-stable, or the process stops functioning correctly. The debug tool will inject a DLL into the specified process and monitor memory allocations over time. A dump is then generated, and the dump is analyzed to determine what allocations are not being freed and most likely causing the memory leak. Allocations generally fall into 3 groups: caching, short term allocations that will be freed later, and memory leaks. All three allocation methods have very distinct allocation patterns when measured over time. The leak tracking feature calculates a leak probability using a formula that is based on these allocation patterns as measured over a specific time period.

The tool also provides an extensible object model that exposes information necessary to analyze crashes, hangs and memory leaks. The object model was implemented in the form of COM objects and provides a script host with a built-in reporting framework. In this version we also provide a .Net API for allowing developers an easier and robust way to customize analysis rules.

Algorithmic analysis of issues are now built using .Net classes written on C#, that consume the object model and provides an easily understandable and actionable summary of the problem using a built-in reporting framework.

Please see the Users Guide for information on how to configure the tool for data collection, run analysis, and interpret the reports.

Microsoft Corporation

Send Feedback on this topic to dbgdiag@microsoft.com.


Installation and Usage

Installation and Usage Debug Diagnostics Tool 2.1 DebugDiag

This topic contains the following sections.

  • Installation
  • Architecture
  • Data Collection
  • Data Analysis
  • Beta Rule Builder
  • Files included in this release
  • Updates
  • Known Issues
  • Comments/Suggestions
Installation

The default installation location for the Debug Diagnostic Tool is C:\Program Files\DebugDiag, however, this can be changed at the user’s discretion. Installation consists of the collector and analysis tools, as well as a system service which is used by the tool. This service enables support for crash debugging from terminal service sessions and also aids in preventing user errors such as logging off of the machine, thereby, closing the debugger inadvertently. It is stopped by default and only started by the tool when needed. Once the tool is installed, use the DebugDiag.Collection.exe file to configure the tool for symptom monitoring and data collection, and the DebugDiag.Analysis.exe file to perform post-mortem analysis.

Architecture

For more information on how DebugDiag works please see the Debug Diagnostics Architecture document.

Data Collection

After launching the DebugDiag.Collection.exe executable, a wizard appears allowing the user to configure rules which are designed to assist in troubleshooting crashes, hangs, and memory leaks.

The program consists of two primary tabs (views):

  • Rules Tab

    This tab allows the user to add, edit, and delete rules which govern the type of monitoring and diagnostics the user wishes to execute, as well as obtain the current status of any active or inactive rules.

  • Processes Tab

    This tab displays a list of processes currently running on the machine as well as detailed information for each individual process. There are also a variety of things the user can perform for each process accessible via the context menu. For example, to bypass the memory leak wizard (available via the Rules tab) and track a memory leak manually, simply right click the process you wish to monitor and select "Monitor For Leaks". This will inject leaktrack.dll into the process and begin the leak monitoring process. To ensure the data collection is accurate, allow the process to run for at least 1 hour after you begin monitoring for leaks and leaktrack.dll is injected. Once this is done, select the process where monitoring was previously enabled, then create a full memory dump by right clicking the process and selecting "Create Full Dump". This will create a full user dump and place it in the "Logs\Misc" folder under the directory where the tool was installed, which can be analyzed later via the Analyzer Tab mentioned above.

Data Analysis

After launching the DebugDiag.Analysis.exe executable, the main window appears allowing the user to set the analysis rules to be executed against the dumps that can be selected on the Data Files section of the Window.

The program consists of a main Window that allows 2 different views:

  • DebugDiag Analysis default view

    This view allows the user to select previously created memory dump files (.DMP) for detailed post mortem analysis using a series of rules which analyze and report results in the form of a compressed html (.MHT) report file. Additionally, you may also select multiple memory dump files in which to analyze.

  • Settings View

    This view allows the user to select the preferences for the data included on the reports, and also configure different settings like the configuration of the Symbols and the location of custom rules that can be added to the default set of rules provided by the tool.

Beta Rule Builder

After launching the DebugDiag.RuleBuilder.exe executable, located on the debugdiag installation folder, the main window appears allowing the user to create new analysis rules, on a workflow designer, such rules can be tested and executed against dumps that can be selected using the Add Data Files Button on the Bottom on the screen below the Test Data Files section of the Window.

The program consists of a main Window with 4 different sections:

  • Activity Library

    Located at the left side of the window, you will find all the activities available to create analysis rules from scratch, just drag and drop the activities needed to build the new rule on the designer section and create your custom rule.

  • Designer Section

    The Designer section is located in the middle of the window, and is based on Workflow Foundation, you can create custom workflows based on the activities provided by the activity library in order to accomplish the inspection of the dump.

  • Other Sections

    The Rule Builder designer provides 3 more sections to allow the customization and configuration of each activity of the workflow, a section to define Variables and Arguments, and a section to select dumps you can use to test your new rule.

You may save the rules created on the rule builder designer, and add them into the DebugDiag Analisys UI, in order to be able to execute them along with the default rules provided by debugdiag.

Files included in this release

When all features of DebugDiag are installed (Collection, Analysis, Help and Samples), the list of the files copied are as follows:

\DebugDiag |
DebugDiag.chm | This help file.
DebugDiag.Collection.exe | Collection tool UI.
DebugDiag.Analysis.exe | Analysis tool UI.
DebugDiag.Analysis.exe.config | Analysis tool UI configuration file.
DebugDiag.RuleBuilder.exe | Rule Builder Designer tool UI.
DebugDiag.RuleBuilder.exe.config | Rule Builder Designer tool UI configuration file.
dbghlp.dll | Windows Image Helper.
dbgeng.dll | Windows Symbolic Debugger Engine.
DbgHost.exe | Process debug events publisher and automation compatible debug object library.
Dbgsvc.exe | Process that implements the debug service.
LeakTrack.dll | Component used to inject into processes for leak monitoring.
ClrMemDiagExt.dll | .Net Analysis functionality based on CLRMD.
DbgLib.dll | DebugDiag Object Library.
DebugDiag.DotNet.dll | DebugDiag .Net API
DebugDiag.WorkflowActivities.dll | Activities Library for the RuleBilder designer
Microsoft.Diagnostics.Runtime.dll | CLRMD module for managed code analysis
symsrv.dll | Symbol Server component.
symsrv.yes | Symbol Server component.
Register.bat | Batch file to register all Debugdiag COM components.
Unregister.bat | Batch file to Unregister all Debugdiag components.

\DebugDiag\Exts |
CrashHangExt.dll | Utility extension used by the crash/hang scripts.
MemoryExt.dll | Utility extension used by the leak scripts.
IisInfo.dll | Utility extension used by the analysis scripts. This extension can also be used in other debuggers like windbg.exe
ComplusDDExt.dll | Utility extension used by the analysis scripts for troubleshooting COM/RPC Related issues.
psscor2.dll | Utility extension used by the analysis scripts used for troubleshooting .NET Framework 2.0/3.5 issues.
psscor4.dll | Utility extension used by the analysis scripts used for troubleshooting .NET Framework 4.0 issues.
SharePointExt.dll | Utility extension used by the analysis scripts used for troubleshooting Sharepoint issues.

\DebugDiag\x86Support | This directory is only installed on x64 machines and contains the support files for debugging 32 bit processes on x64 machines.
DebugDiag.X86AnalysisHost.exe | Host process that executes x86 dump analysis rules on 64 bits Operating Systems.

\DebugDiag\Scripts This directory will contain the control scripts for the Debugger service and Collector once collection rules are created.

\DebugDiag\AnalysisRules |
DebugDiag.AnalysisRules.dll | Assembly that contains the default Analysis Rules.

\DebugDiag\Samples\ControlScripts Directory containing sample control scripts.

\DebugDiag\Samples\AnalysisRules Directory Containing a Visual Studio project for creating custom Sample Rules
Updates

The DebugDiag.Collection.exe and DebugDiag.Analysis.exe modules have a configurable feature to check for updates availability. This feature can be turned ON/OFF in each module settings. When an update is available, the end user is presented with a window containing the download center location where to download the update from.

Known Issues
  • A performance rule configured to use Http Ping feature will not create a dump if a Service Unavailable error is returned. This is because the Http Ping Performance rule only generates a userdump if the request takes longer than a specific timeout. A Service Unavailable error is returned immediately.
  • Clicking Cancel on the Analysis progress dialog does not work, when symbols are being downloaded from the public symbol server.
Comments/Suggestions

If you have comments, problems, or suggestions, please email the Online Debug Diagnostic tool Discussion alias for support.


Users Guide

Users Guide Debug Diagnostics Tool 2.1 DebugDiag

There are three different User Interfaces of DebugDiag tool, the first UI is the collector tool, it provides a window that contains two views used to help collect data as well as manage processes. The following documents give a brief overview of these views as well as information on configuring the general options and settings for DebugDiag 2.0 Collection.

  • Rules
  • Processes
  • Options and Settings

Depending on the problem being addressed, the DebugDiag Collector can be configured to monitor IIS and collect the correct data automatically. The following troubleshooting guides will help in configuring the tool to collect the correct data for the specific problem being diagnosed.

  • Troubleshooting Crashes
  • Troubleshooting Performance
  • Troubleshooting Memory and Handle Leaks

After the correct data has been successfully collected it must be analyzed, for that purpose, the DebugDiag 2.0 Analysis UI is provided. Please see the following for information on how to generate an analysis report from the userdump files collected, as well as how to interpret the report that is generated.

  • DebugDiag Analysis
  • Understanding the Analysis Reports

Additionally, if the default set of rules provided do not fit your analysis needs, debugdiag includes a beta version of the new Rule Builder designer, this is the third and last User Interface provided by debugdiag, and it is a workflow designer with custom activities that enables the user to create custom rules.

  • Using the RuleBuilder (Beta) to create Analysis Rules

DebugDiag also has features for collecting the Event logs, IIS logs, and the IIS metabase as well as packaging up the data to send to Microsoft for analysis.

  • Collecting and Packaging Data

For more information on how DebugDiag works, please see the following document

  • Debug Diagnostics Architecture
  • DebugDiag Command Line


Troubleshooting Guides and Analyzing Data

Troubleshooting Guides and Analyzing Data Debug Diagnostics Tool 2.1 DebugDiag

The following topics contain troubleshooting guides for the most common scenarios where Debug Diagnostics tool is used.

Troubleshooting Crashes with DebugDiag

The term crash is often misused, and in this document it means that a process has terminated unexpectedly. DebugDiag can be used to monitor a process that is known to terminate unexpectedly. It can also be configured to do advanced debugging for specific 1st chance exceptions, custom breakpoints, events, and for enabling pageheap for troubleshooting heap corruption.

Troubleshooting Perfomance with DebugDiag

The term "poor performance" is often misused, and in this document it refers to scenarios where processes perform slowly or irregularly, or do not return in a timely fashion. For example, in IIS this could include scenarios where HTTP requests do not get responded to, or when a worker process suffers from performance problems such as high CPU utilization. If a request to a simple HTML or ASP page does not return in a timely manner then the IIS server is probably in a state where some or all of its worker threads are not responding. When this occurs it is a good idea to troubleshoot why these simple requests do not respond. This is done by generating a full userdump of the IIS processes when the requests are executing, and then analyzing those dumps.

Troubleshooting Memory and Handle Leaks with DebugDiag

A memory leak occurs when memory is allocated in a process and not freed. When this occurs it is useful to know what allocated the memory that has not been freed. DebugDiag's memory tracking feature is designed to do just that. DebugDiag has a memory leak monitoring feature designed to track memory allocations for a process. DebugDiag will inject a DLL into the specified process and monitor memory allocations over time. A dump is then generated, and the dump is analyzed to determine what allocations are not being freed and most likely causing the memory leak. Allocations generally fall into 3 groups: caching, short term allocations that will be freed later, and memory leaks. All three allocation methods have very distinct allocation patterns when measured over time. The leak tracking feature calculates a leak probability using a formula that is based on these allocation patterns as measured over a specific time period.

DebugDiag Analysis

This section contains a step by step guide, to explain how to use the new DebugDiag Analysis Tool provided on DebugDiag.Analysis.exe in order to select the Analysis algorithms that will be applied on the memory dumps already collected.

Understanding the Analysis Reports

After the analysis rule is finished running, the report is automatically displayed in an instance of Internet Explorer. The report is also saved to the hard disk in the configured Report Save Folder. This section will guide the user on how to read the analysis report.

Collecting and Packaging Data

The Advanced Data Collection option from the tools menu can be used to collect the event logs, the IIS Metabase, the IIS W3C logs, the HTTP Error logs(IIS 6.0 or higher only), and the .NET configuration files. You can also choose to create a compressed file containing all of the log data packaged in a .cab file. This section will show the user how to perform these tasks

Symbols

Symbols are used by the analysis scripts (and for any type of debugging) in order to resolve the call stacks for each thread running in the process. If a symbol path is not specified, the analysis report will not have accurate call stacks. Without accurate call stacks the root cause for memory leaks, hangs, and crashes cannot be determined very easily. This section will show the user how to configure the symbols for debugging and analysis

Using the RuleBuilder (Beta) to create Analysis Rules

If the default analysis rules provided by DebugDiag do not meet your analysis needs, or if you want to customize the analysis reports to provide more insight about the application you are debugging, the new version of debugdiag includes a new designer called DebugDiag.RuleBuilder.exe that will help you to create and customize rules on a Workflow environmnet. This guide provides a walkthrough on how to create a custom rule.


Troubleshooting Crashes with DebugDiag

Troubleshooting Crashes with DebugDiag Debug Diagnostics Tool 2.1 DebugDiag

The term crash is often misused, and in this document it means that a process has terminated unexpectedly. DebugDiag can be used to monitor a process that is known to terminate unexpectedly. It can also be configured to do advanced debugging for specific 1st chance exceptions, custom breakpoints, events, and for enabling pageheap for troubleshooting heap corruption.

This topic contains the following sections.

  • Symptoms of a Crash
  • Collecting Data
  • Basic Configuration
  • Advanced Breakpoint Configuration
  • Advanced Exception Configuration
  • Advanced Event Configuration
  • Advanced PageHeap Configuration
Symptoms of a Crash

When an IIS Process crashes, many different symptoms can be experienced. Since the process hosting the web site or application has shut down, all of the running requests will be lost. Therefore, a client that was waiting for a request to finish will most likely get an error since the process that is responsible for sending the response has shut down.

To determine if a process has really crashed look in the System and Application event logs for events that say a process or service has terminated unexpectedly. These events may be normal if closely followed or preceded by an event indicating the service or application pool was sent a stop command.

For example:

Event Type: | Warning
Event Source: | W3SVC
Event Category: | None
Event ID: | 1009
Date: | 1/4/2011
Time: | 3:56:03 PM
User: | N/A
Computer: | MYMACHINE
Description: | A process serving application pool 'Default App Pool' terminated unexpectedly. The process id was '612'. The process exit code was '0xc0000005'.
Event Type: | Error
Event Source: | Service Control Manager
Event Category: | None
Event ID: | 7031
Date: | 1/4/2011
Time: | 3:56:03 PM
User: | N/A
Computer: | MYMACHINE
Description: | The World Wide Web Publishing Service service terminated unexpectedly. It has done this 2 time(s). The following corrective action will be taken in 0 milliseconds: No action.

Use DebugDiag's crash rules to troubleshoot issues when events like the ones above are in the Application or System event logs.

Collecting Data

This section explains how to configure a crash rule via the Rules Wizard. A crash rule is useful for monitoring a process that is terminating unexpectedly. If there are events in the event log indicating a service or process is terminating unexpectedly a crash rule can be used to monitor that process or service and have it generate a dump file when the process terminates. The dump file can then be analyzed using the Advanced Analysis feature of DebugDiag to determine why the process terminated unexpectedly.

When DebugDiag first starts, the Rules Wizard is the first window that will be displayed unless a rule has already been configured, or if this option has been disabled. If the Rules Wizard is not displayed click the Add Rule button at the bottom of the Rules tabbed dialog.

  • Basic Configuration
  • Advanced Exception Configuration
  • Advanced Breakpoint Configuration
  • Advanced Event Configuration
  • Advanced Pageheap Configuration
Basic Configuration

This section explains how to set up a crash rule that will monitor W3SVC. The default behavior for a crash rule is to log all 1st chance exceptions to a file as well as create a full dump for all second chance exceptions.

  1. Start the Rules Wizard by activating the Rules tab and clicking the Add Rule button on the bottom of the tabbed dialog. If this is the first time you have run DebugDiag.Collection.exe then the rules wizard will start automatically.

  2. Select the Crash option in the Select Rule Type Dialog and click Next

  3. In the Select Target Type Dialog choose A specific NT service and click Next.

  4. Select the W3SVC service from the list of services and click Next.

  5. In the Advanced Configuration dialog box click Next.

  6. In the Select Dump Location and Rule Name dialog, specify a name for this crash rule, and specify a directory where the dump files will be created and click Next.

  7. In the Rule Completed dialog choose Activate the rule now and click Finish.

The rule is now active and DebugDiag will be monitoring the W3SVC service for exceptions. If the W3SVC service terminates, a dump file will be generated in the output directory specified in the rule configuration. All other first chance exceptions will be put in a log file that is located in the Logs folder of the DebugDiag installation path. For information on how to analyze data collected by DebugDiag please see Advanced Analysis.

Advanced Breakpoint Configuration

This section demonstrates how to create a rule to monitor a specific breakpoint in a process. This is useful for more involved debugging. As an example, imagine troubleshooting an issue where file handles are opened repeatedly in inetinfo.exe and it needs to be determined what is opening these file handles. The Advanced Breakpoint feature of DebugDiag can be used in this example to determine the call stack that is opening the file by placing a breakpoint on the OpenFile Windows API. The following example will walk through how to set this up.

The Advanced Breakpoint Configuration requires symbols for the process or dll the breakpoint will be set in. In this example we will be setting a breakpoint on the Kernel32!OpenFile API. The symbols for kernel32.dll can be obtained from Microsoft's public symbol server. By default DebugDiag is configured to download symbols from the public symbol server. Please see Configuring Symbols for more information.

  1. Start the Rules Wizard by activating the Rules tab and clicking the Add Rule button on the bottom of the tabbed dialog. If this is the first time you have run DebugDiag.Collection.exe then the rules wizard will start automatically.

  2. Select the Crash option in the Select Rule Type Dialog and click Next

  3. In the Select Target Type Dialog choose A specific process and click Next.

  4. Select the w3wp.exe process from the list of processes and click Next.

  5. In the Advanced Configuration dialog box click the Breakpoints... button.

    Advanced Config Page Heap

  6. In the Configure Breakpoints dialog box click the Add Breakpoint... button.

  7. In the Configure Breakpoint dialog type in Kernel32!OpenFile in the Breakpoint Exception field, leave the This is a managed (.NET) breakpoint checkbox blank, set the Action Type to Log Stack Trace, and Action Limit to 0 and Click OK.

  8. When the following message is displayed click Yes.

  9. In the Configure Breakpoints dialog click Save & Close.

  10. In the Advanced Configuration dialog click Next.

    Advanced Config Page Heap

  11. In the Select Dump Location and Rule Name dialog, specify a name for this crash rule, and specify a directory where the dump files will be created and click Next.

  12. In the Rule Completed dialog choose Activate the rule now and click Finish.

The rule is now active and DebugDiag will create up to 10 mini dump files when the Kernel32!OpenFile API is called from the Inetinfo.exe process. For information on how to analyze data collected by DebugDiag please see Advanced Analysis.

Advanced Exception Configuration

The default behavior for a crash rule is to log all 1st chance exceptions to a file as well as create a full dump for all second chance exceptions. The Advanced Exception configuration allows custom actions to be configured for 1st chance exceptions.

The following example will show how to configure an Advanced Exception for 1st chance Access Violations in w3wp.exe. The action will be to generate a full dump file when a 1st chance Access Violation occurs. By default all 2nd chance exceptions generate a full dump file no matter what exception or dump limits are configured.

  1. Start the Rules Wizard by activating the Rules tab and clicking the Add Rule button on the bottom of the tabbed dialog. If this is the first time you have run DebugDiag.Collection.exe then the rules wizard will start automatically.

  2. Select the Crash option in the Select Rule Type Dialog and click Next

  3. In the Select Target Type Dialog choose A specific process and click Next.

  4. Select the w3wp.exe process from the list of processes and click Next.

  5. In the Advanced Configuration screen click the Exceptions... button and then the Add Exception button.

    Advanced Config Page Heap

  6. In the Configure Exception dialog box select Access Violation, set the Action Type to Full Userdump and click OK.

  7. In the First Chance Exception Configuration dialog click Save & Close

  8. In the Advanced Configuration dialog click Next.

    Advanced Config Page Heap

  9. In the Select Dump Location and Rule Name dialog, specify a name for this crash rule, and specify a directory where the dump files will be created and click Next.

  10. In the Rule Completed dialog choose Activate the rule now and click Finish.

The rule is now active and DebugDiag will create one full userdump when a 1st chance access violation occurs in the w3wp.exe process. For information on how to analyze data collected by DebugDiag please see Advanced Analysis.

Advanced Event Configuration

This section demonstrates how to create a rule to monitor a specific event in an application pool. This is useful for more involved debugging. As an example, imagine troubleshooting an issue where a module was being unloaded for an unknown reason from w3wp.exe and it needs to be determined why. The Advanced Event feature of DebugDiag can be used in this example to determine the call stack that is unloading the module. The following example will walk through how to set this up.

  1. Start the Rules Wizard by activating the Rules tab and clicking the Add Rule button on the bottom of the tabbed dialog. If this is the first time you have run DebugDiag.Collection.exe then the rules wizard will start automatically.

  2. Select the Crash option in the Select Rule Type Dialog and click Next

  3. In the Select Target Type Dialog choose A specific IIS web application pool and click Next.

  4. Select the application pool you want to troubleshoot. For example, choose the DefaultAppPool and click Next.

    Select Target App Pool

  5. In the Advanced Configuration dialog box click the Events... button.

  6. Click Add Event.

    Debugger Event Config

  7. Choose Module Unload, specify the name of the module being unloaded, set the Action Type to Full Userdump, and the Action Limit to 5. Click OK, then Save & Close

    Configure Debugger Event

  8. In the Advanced Configuration dialog click Next.

  9. In the Select Dump Location and Rule Name dialog, specify a name for this crash rule, and specify a directory where the dump files will be created and click Next.

  10. In the Rule Completed dialog choose Activate the rule now and click Finish.

The rule is now active and DebugDiag will create up to 5 full userdump files when the myModule.dll module is unloaded from the DefaultAppPool. For information on how to analyze data collected by DebugDiag please see Advanced Analysis.

Advanced PageHeap Configuration

PageHeap can be enabled on a process in order to troubleshoot heap corruption in that process. The following example will show how to enable a crash rule with Page Heap enabled for the w3wp.exe process.

  1. Start the Rules Wizard by activating the Rules tab and clicking the Add Rule button on the bottom of the tabbed dialog. If this is the first time you have run DebugDiag.Collection.exe then the rules wizard will start automatically.

  2. Select the Crash option in the Select Rule Type Dialog and click Next

  3. In the Select Target Type Dialog choose A specific process and click Next.

  4. Select the w3wp.exe process from the list of processes and click Next.

  5. In the Advanced Configuration dialog box click the PageHeap Flags... button.

    Advanced Config Page Heap

  6. In the PageHeap Flags dialog choose the Enable Full PageHeap option and click OK.

    Configure Page Heap Flags

  7. In the Advanced Configuration dialog click Next.

    Advanced Config Page Heap

  8. In the Select Dump Location and Rule Name dialog, specify a name for this crash rule, and specify a directory where the dump files will be created and click Next.

  9. In the Rule Completed dialog choose Activate the rule now and click Finish.

  10. At this point in time, w3wp.exe will need to be restarted to enable PageHeap for the process. To restart the w3wp.exe process, you can restart the application pool via the IIS Manager.

The rule is now active and DebugDiag has attached DbgHost.exe to the w3wp.exe process and is debugging the process live. If heap corruption occurs, a full userdump will be generated and can be analyzed. For information on how to analyze data collected by DebugDiag please see Advanced Analysis.


Troubleshooting Performance Problems with DebugDiag

Troubleshooting Performance Problems with DebugDiag Debug Diagnostics Tool 2.1 DebugDiag

The term "poor performance" is often misused, and in this document it refers to scenarios where processes perform slowly or irregularly, or do not return in a timely fashion. For example, in IIS this could include scenarios where HTTP requests do not get responded to, or when a worker process suffers from performance problems such as high CPU utilization. If a request to a simple HTML or ASP page does not return in a timely manner then the IIS server is probably in a state where some or all of its worker threads are not responding. When this occurs it is a good idea to troubleshoot why these simple requests do not respond. This is done by generating a full userdump of the IIS processes when the requests are executing, and then analyzing those dumps.

DebugDiag can be used to generate dumps of the IIS Processes manually, or by configuring a Performance rule to generate the dumps automatically. Please see the Troubleshooting section below for more information on how to generate dump files.

This topic contains the following sections.

  • Symptoms
  • Troubleshooting
Symptoms

The major symptom of a hang or performance problem in IIS is when requests sent to an IIS server do not return in a timely manner. A secondary symptom of a performance problem in IIS is when one or more worker processes display unexpected behavior such as very high CPU utilization. The main difference with these symptoms compared to those of a "crash" is that there will not be any events in the Windows event logs indicating a process terminated unexpectedly.

A good source of information on how long IIS requests are taking is in the IIS log for the web site. If the site has been configured to log the time-taken field, that value can be used to determine how long a specific request took to execute.

Troubleshooting

Before troubleshooting an IIS performance problem it is a good idea to make sure there are not any network issues between the HTTP clients and the IIS server, as those can cause the requests to never reach the IIS server (or for the HTTP traffic between the clients and the server to be slow). Once it is known that the requests are reaching IIS, but those requests are not getting responded to in a timely fashion, then proceed with performance troubleshooting as described below.

To troubleshoot a performance problem, the goal is to generate a memory dump of the IIS-related process(es) when the poorly-performing request is still executing. This can be tricky if it is not known when the problem is going to occur. DebugDiag can be used to generate dumps manually, and can also be used to capture dumps automatically when monitoring a specific URL or when triggered by Performance Monitor activity via a Performance rule.

Generating a Full userdump Manually

To generate a hang dump manually simply choose Tools->Create IIS/COM+ Hang Dump from the menu. This will generate a dump for all IIS related processes including inetinfo.exe, dllhost.exe, dllhst3g.exe, w3wp.exe, svchost.exe, and aspnet_wp.exe.

Configuring a Performance Rule

Beginning in DebugDiag 1.2, there are two types of Performance Rules that can be configured: Performance Counters rules, and HTTP Response Times rules. Select the rule type on the Select Performance Rule Type Dialog:

Select Performance Rule Type Dlg

Performance Counters rules

When a Performance Counter rule is created, specify one or more Performance Monitor counters for DebugDiag to monitor as part of the rule, and then choose what the threshold should be for memory dump creation. The following explains how to configure a Performance Counters rule to monitor for high CPU activity in the w3wp.exe process and create a dump file when the CPU trigger is hit:

  1. Start the Rules Wizard by activating the Rules tab and clicking the Add Rule button on the bottom of the tabbed dialog. If this is the first time you have run DebugDiag.Collection.exe then the rules wizard will start automatically.

  2. Select the Performance option in the Select Rule Type Dialog and click Next

  3. Select Performance Counters, and click Next.

    Select Performance Rule Type Dlg

  4. On the Select Performance Counters screen, click Add Perf Triggers.

    Select Performance Counters Dlg

  5. The Performance Monitor Add Counters window will be displayed. Choose the local or remote computer to be monitored, and the performance object, counters, and instances you want to be monitored for the performance rule. For example, to monitor for CPU utilization in the w3wp.exe process, select the Process performance object, the %ProcessorTime counter, and the w3wp instance, then click Add >> and then OK.

    Performance Rule Walkthrough Add Counter

  6. Click the Edit Thresholds button. In the Properties of Performance Monitor Trigger dialog, set the Take Action, Threshold, and Number of Seconds drop-down boxes appropriately. For example, take action when the counter stays above 90 (percent) for 10 seconds. Click OK and then Next.

    Performance Monitor Trigger

  7. On the Select Dump Targets screen, click Add Dump Target.

    Select Dump Target

  8. On the Add Dump Target screen, use the Target Type drop-down box to choose which processes or executables to create memory dumps for. You can choose to create dumps for all active IIS/COM+ related processes, a specific executable, a COM+ application, a specific web application pool, or an NT service. Then, click OK and Next.

    Add Dump Target

  9. On the Configure UserDump Series screen, choose when to create the memory dump(s), how often, what kind of memory dumps to create, and when to stop generating memory dumps.

    For example, you can choose to create a memory dump every 5 seconds, have the iteration timer start when the creation of the first dump file is complete, stop dump creation after 3 memory dumps are created, and for the memory dumps created to be Full User Dumps. After configuring the settings, click Next

    Config User Dump Series

  10. Specify the name of the Performance Counter rule, and the location to which you want the data files written to, then click Next.

    Leak Walkthrough Dump Location

  11. Choose to activate the rule immediately, or to create the rule but keep it in a stopped state. Then, click Finish.

HTTP Response Times rules

When a HTTP Response Times rule is created, you specify one or more URLs to monitor and then choose what process or processes to create memory dumps for when those URLs take too long to respond. The following explains how to configure a HTTP Response Times rule to monitor a URL using Enterprise Tracing for Windows (ETW) events, or to monitor a URL using an HTTP ping request:

  1. Start the Rules Wizard by activating the Rules tab and clicking the Add Rule button on the bottom of the tabbed dialog. If this is the first time you have run DebugDiag.Collection.exe then the rules wizard will start automatically.

  2. Select the Performance option in the Select Rule Type Dialog and click Next

  3. Select the HTTP Response Times option in the Select Performance Rule Type Dialog and click Next.

    Performance Rule Walkthrough Response Times

  4. Select Add URL, and click Next.

  5. Select either to use ETW events to monitor incoming HTTP requests, or to generate simple HTTP ‘ping’ requests.

    Properties Url Monitor Dlg
  6. If you choose ETW monitoring, enter a specific local URL or page name to monitor for performance problems. Alternately, you can leave the field blank to monitor all requests. The Timeout value is the amount of time that DebugDiag will wait for the HTTP URL or page to respond before dumping the configured target process.
  7. If you choose to use the Ping requests, specify the local or remote URL to monitor. Unlike the ETW option, the Ping monitoring needs a full URL to monitor and not just a page name. Choose how often to ping the URL, and the request timeout value.

  8. Click OK. If using a Ping URL, you will be prompted to test the configured URL for accuracy. Choose Yes to test the URL, or No to continue without testing.

    URLTest Progress Dlg

  9. On the Select Dump Targets screen, click Add Dump Target.

    Select Dump Target

  10. On the Add Dump Target screen, use the Target Type drop-down box to choose which processes or executables to create memory dumps for. You can choose to create dumps for all active IIS/COM+ related processes, a specific executable, a COM+ application, a specific web application pool, or an NT service. Then, click OK and Next.

    Add Dump Target

  11. On the Configure UserDump Series screen, choose when to create the memory dump(s), how often, what kind of memory dumps to create, and when to stop generating memory dumps. For example, you can choose to create a memory dump every 5 seconds, have the iteration timer start when the creation of the first dump file is complete, stop dump creation after 3 memory dumps are created, and for the memory dumps created to be Full User Dumps. After configuring the settings, click Next.

    Config User Dump Series

  12. Specify the name of the HTTP Response Times rule, and the location to which you want the data files written to, and then click Next.

    Leak Walkthrough Dump Location

  13. Choose to activate the rule immediately, or to create the rule but keep it in a stopped state. Then, click Finish.

Important note Important

Limitations on HTTP Response Times rules

  • If using the HTTP Ping option of a HTTP Response Times Rule, the URL being tested must be configured in IIS for Anonymous authentication. If the hang is occurring in a site or web application configured for something other than Anonymous authentication, use the ETW events option instead of the Pinging option. Or, create a hang dump manually when the performance problem occurs instead of using a Performance rule.
  • The ETW events option is not dependant on the authentication type of the URL being monitored. It can be used with any of the supported authentication types in IIS or ASP.net, including Basic Authentication and Forms Authentication.


Troubleshooting Memory Leaks with DebugDiag

Troubleshooting Memory Leaks with DebugDiag Debug Diagnostics Tool 2.1 DebugDiag

A memory leak occurs when memory is allocated in a process and not freed. When this occurs it is useful to know what allocated the memory that has not been freed. DebugDiag's memory tracking feature is designed to do just that. DebugDiag has a memory leak monitoring feature designed to track memory allocations for a process. DebugDiag will inject a DLL into the specified process and monitor memory allocations over time. A dump is then generated, and the dump is analyzed to determine what allocations are not being freed and most likely causing the memory leak. Allocations generally fall into 3 groups: caching, short term allocations that will be freed later, and memory leaks. All three allocation methods have very distinct allocation patterns when measured over time. The leak tracking feature calculates a leak probability using a formula that is based on these allocation patterns as measured over a specific time period.

This topic contains the following sections.

  • Symptoms of a Memory Leak
  • Troubleshooting
  • Manually Injecting the Leak tracking DLL
  • Configuring a Memory and Handle Leak Rule
Symptoms of a Memory Leak

IIS caches static and dynamic files, and may appear to be leaking memory when in fact it isn't. Eventually the IIS processes will settle in at a certain memory size, which could be 150MB, 300MB, or even 1GB, depending on how the caching has been configured for the server and how the application(s) work. There is only one way to be certain that a process is leaking memory: use performance monitor to watch the memory usage for a process over a period of time. If the memory continuously ramps up and never comes down then it would be good to troubleshoot that process for a memory leak. Please see the Performance Log section for information.

Troubleshooting

Their are two ways to monitor a process for memory leaks with DebugDiag.

Manually Injecting the Leak Tracking DLL

Configuring a Memory and Handle Leak Rule

Manually Injecting the Leak tracking DLL

In the DebugDiag main window activate the processes tab. Locate the process that is leaking memory, right click the process and choose Monitor For Leaks.

Leak Manual Inject

After choosing this option, let the process run and leak memory. It is suggested the process runs for a minimum of 15 minutes with the leak-tracking DLL in place in order to get valid results. For best results allow the tracking DLL to run for a longer period of time. After the process has been monitored for the appropriate length of time, right-click the process and choose Create Full Userdump. This will generate a memory dump file that can be analyzed. For information on how to analyze data collected by DebugDiag please see DebugDiag Analysis.

Configuring a Memory and Handle Leak Rule

This section explains how to configure a Memory and Handle Leak rule via the Rules Wizard. The following steps demonstrate how to configure a Memory and Handle Leak rule to monitor w3wp.exe for leaks.

  1. Start the Rules Wizard by activating the Rules tab and clicking the Add Rule button on the bottom of the tabbed dialog. If this is the first time you have run DebugDiag.Collection.exe then the rules wizard will start automatically.

  2. Select the Native (non-.NET) Memory and Handle Leak option in the Select Rule Type Dialog and click Next

  3. In the Select Target dialog choose the w3wp.exe process and click Next.

  4. In the Configure Leak Rule window, note that by default memory tracking is set to begin immediately. There are also options for you to conifgure Rule Completion options, such as auto-unloading the LeakTrack component when the rule is completed or Deactivated.

    Configure Leak Rule

  5. Under Userdump generateion, click the Configure... button. The Configure Userdumps for Leak Rule dialog box will appear.

    Configure User Dumps Leak Rule

    By Default, the option to automatically create a Crash Rule to gather a memory dump if the process crashes or exits is Enabled. There is also the option to generate memory dumps at specific private bytes and virtual bytes levels. Configure these appropriately, and click Save and Close, and then Next.

  6. In the Select Dump Location and Rule Name dialog, specify the name of the Memory Leak rule, and the location to which you want the data files written to, and then click Next.

    Leak Walkthrough Dump Location

  7. Choose to Activate the rule immediately, or to create the rule but keep it in a stopped state. Then, click Finish.

The rule is now active and the leak tracking DLL is inserted into the w3wp.exe process and is tracking memory. After the configured tracking time has expired a userdump will be created and can be analyzed. For information on how to analyze data collected by DebugDiag please see DebugDiag Analysis.


DebugDiag Analysis

DebugDiag Analysis Debug Diagnostics Tool 2.1 DebugDiag

Starting with Debug Diagnostics Tool ver 2.0 there is a new User Interface to execute the analysis rules, you may access this tool by selecting the DebugDiag 2.0 Analysis tile on Windows 8 or by selecting the DebugDiag 2.0 Analysis shortcut located on the Debug Diagnostics Tool 2.0 programs group.

The new DebugDiag Analysis window is used to specify the userdump files to be analyzed by one of the available analysis algorithms. To analyze data follow these steps.

  1. In the Analysis Rules section, choose the rule or rules of analysis you would like to run against an existing dump file.

    • Choose the Crash/Hang Analyzers rules when the userdump was generated while troubleshooting a crash or hang. If your process hosts a Sharepoint Web site you may select the SharepointAnalysis rule to perform a Sharepoint-specific analysis against the dump file.
    • Choose the Memory Pressure Analyzers rules when the userdump file was generated while DebugDiag was monitoring for memory or handle leaks.
    • Choose the Performance Analyzers rules to analyze multiple memory dumps of the same process for performance issues.
  2. To add a dump file to analyze, on the Data Files section, click the Add Data Files button, located on the right corner of the section in order to add the userdump files to be analyzed to the list.
  3. If you have not done so already, verify the debug symbol path by clicking on the settings menu button, located a the top of the window before performing the analysis. Please see Symbols for more information on how to set up symbols.
  4. Click the Start Analysis button, located at the top of the window, to generate an analysis report. For more information on understanding the generated report please see Understanding the Reports.


Understanding the Analysis Reports

Understanding the Analysis Reports Debug Diagnostics Tool 2.1 DebugDiag

After the analysis script is finished running, the report is automatically displayed in an instance of Internet Explorer. The report is also saved to the hard disk in the configured Report Save Folder. Please see Folders and Search Paths for more information on configuring where reports are saved.

Each analysis report will have three separate sections.

Analysis Summary

The analysis summary section displays a list of warnings and errors indicating problems found or things to be concerned about. The Type column indicates whether it is a warning or an error. The Description column describes the problem found and usually contains links to more information in the Analysis Details section of the report. The Recommendation column will give a recommendation on what to do next in order to resolve the problem found, or a suggestion on how to help improve performance.

Analysis Details

This section will differ depending on whether the Crash/Hang or Memory Pressure analysis script was run.

The built-in Analysis Rrules contain other sections in addition to the below...

Crash/Hang

The analysis report generated when the Crash/Hang analysis script is run will have a table of contents section for each userdump file that was analyzed. Each userdump section will indicate the type of analysis performed (Crash or Hang), and have a list of links that, when clicked on, will move the window to that section of the report. The following is a list of the sections that can be displayed in the Analysis Details section when the Crash/Hang Analyzer is run.

  • Top 5 Threads by CPU Time

    Only listed for hang analysis. Clicking this link will display a list of the top 5 threads in the process that used the most CPU during the lifetime of the process.

  • Faulting Thread

    Only listed for crash analysis. Clicking this link will display the thread that caused the process to terminate unexpectedly.

  • Faulting Module Information

    Only listed for crash analysis. Clicking this link will display the module information that caused the process to terminate unexpectedly.

  • Locked Critical Section report

    Only listed for hang analysis. Clicking this link will display a list of critical sections that are currently in use and the threads that are waiting on the critical section as well as the thread that owns the critical section.

  • Thread Report

    Lists each thread in the process along with the call stack for that thread.

  • HTTP Report

    This section is only displayed when the userdump file was taken for inetinfo.exe or w3wp.exe. It contains a list of clients that are currently connected to the IIS Server along with the request information from that client, the clients IP address and length of time the request has been executing.

  • ASP Report

    This section is only displayed if ASP requests were running in the process when the userdump file was generated. It will contain the thread the ASP request is running on, the name of the ASP file, the length of time the page has been running, and the line of code the ASP page is currently executing.

  • Improperly Compiled VB Modules

    This section lists any VB Dlls that are running in the process and not compiled with the Unattended Execution and Retain in Memory options.

Memory Pressure

The memory pressure analysis report will have a table of contents section for each userdump file that was analyzed. Each userdump section will contain links to the following sections that can be looked at to help determine what caused the memory leak to occur.

  • Leak Analysis Report

    This section will only be present if Leak Tracker was used to monitor memory allocations. It is broken down into the following sub sections.

    • Outstanding allocation summary

      Clicking this link will display a list of the top ten modules that allocated memory by count and by size. For troubleshooting memory leaks the best indicator is a module that has made a lot of allocations and not freed them. Looking at the top modules that have a lot of allocations is a good place to start when looking for memory leaks.

    • Detailed module report (Memory)

      Clicking this link will display each module that has allocated memory and not yet freed it. View this section to determine the call stack for the module that allocated the memory.

    • Detailed module report (Handles)

      Clicking this link will display each module that has allocated handles and not yet closed them. View this section to determine the call stack for the module that allocated the handle.

  • Heap Analysis Report

    Clicking this link will display the Heap Analysis report. This report contains information on each heap loaded in the process.

Anaysis Rule Summary

The Analysis Rule Summary indicates which analysis algorithm was run and the status. If an error occurred, the Rule name, along with teh status and the Exception details will be displayed in this section. When a rule fails to complete successfully, a notification is displayed in the Analysis Summary Section.


Collecting And Packaging Data

Collecting And Packaging Data Debug Diagnostics Tool 2.1 DebugDiag

The Advanced Data Collection option from the tools menu can be used to collect the event logs, the IIS Metabase, the IIS W3C logs, the HTTP Error logs(IIS 6.0 or higher only), and the .NET configuration files. You can also choose to create a compressed file containing all of the log data packaged in a .cab file.

Advanced Data Collection

Collect Event Logs

Selecting this option will save the Application, System, Security, or All of the event logs to the EventLogs folder located in the DebugDiag Logs directory.

Collect IIS Metabase

Selecting this option will save the IIS Metabase (for IIS6 features) to the MetaBack folder located in the DebugDiag Logs folder.

Collect IIS W3C Logfiles

Selecting this option will display a dialog that will let you choose which web site(s), and the number of days worth of W3C logs to save. After selecting the site(s) and the number of days worth of logs to save, the logfiles will be saved to the W3CLogs folder located in the DebugDiag Logs directory.

Collect Http Error Logs

Selecting this option will save the HTTP Error log files to the HTTPErr folder located in the DebugDiag Logs folder

Collect .NET Config Files

Selecting this option will save the .NET configuration files, including the configuration files for IIS 7.0 and above, into the DotNetConfig folder located in the DebugDiag Logs folder.

Collect All Of The Above

Will collect the Event logs, IIS Metabase, IIS W3C Logfiles, and the IIS 6 HTTP Error logs and save the logs to the EventLogs, MetaBack, W3CLogs, and HTTPErr folders respectively.

Create Full Cabinet File

This option will save all the event logs, the IIS Metabase, a specified number of days worth of W3C Logs, and the HTTP Error logs. It will then package those log files along with any userdump files that have been generated by DebugDiag into a cab file located in the DebugDiag install folder.

Create Incremental Cabinet File

This option will save all the event logs, the IIS Metabase, a specified number of days worth of W3C Logs, and the HTTP Error logs. It will then package those log files along with any userdump files that have been generated by DebugDiag, since the last Incremental cab file was generated, into a cab file located in the DebugDiag install folder. This is the recommended method for generating cabinet files as it will only include files created since the last time Create Incremental Cabinet File was run.


Symbols

Symbols Debug Diagnostics Tool 2.1 DebugDiag

When applications, libraries, drivers, or operating systems are linked, the linker that creates the .exe and .dll files also creates a number of additional files known as symbol files.

Symbol files hold a variety of data which are not actually needed when running the binaries, but which could be very useful in the debugging process.

Typically, symbol files might contain:

  • Global variables
  • Local variables
  • Function names and the addresses of their entry points
  • FPO data
  • Source-line numbers

The binaries are smaller and faster as a result of keeping these symbol files separate. However, this means that when debugging, you must make sure that the debugger can access the symbol files that are associated with the target you are debugging.

Both interactive debugging and debugging crash dump files require symbols. You must obtain the proper symbols for the code that you wish to debug, and load these symbols into the debugger.

Symbols are used by the analysis rules (and for any type of debugging) in order to resolve the call stacks for each thread running in the process. If a symbol path is not specified, the analysis report will not have accurate call stacks. Without accurate call stacks the root cause for memory leaks, hangs, and crashes cannot be determined very easily.

To configure the symbol path that DebugDiag uses choose Tools->Options and Settings..., which brings up the following dialog box.

options And Settings

The default symbol path is srv*c:\symcache*http://msdl.microsoft.com/download/symbols. This path causes DebugDiag to download symbols as needed from the Microsoft public symbol server, and store them in the c:\symcache directory. This path will allow the debugger to resolve symbols for almost all Microsoft DLL's and EXE's. To specify the path where non Microsoft DLL and EXE symbols are located add to the existing symbols path separating each additional path by a semi-colon(;).

For a more detailed explanation of symbols please see the documentation that comes with the debugging tools for windows. To get started with debugging tools for windows please see the following documentation.

Online http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx


Using the RuleBuilder (Beta) to create Analysis Rules

Using the RuleBuilder (Beta) to create Analysis Rules Debug Diagnostics Tool 2.1 DebugDiag

The DebugDiag RuleBuilder (Beta) provides a user interface for DebugDiag Rule creation. The result of this is a XAML file that can be then used with DebugDiag Analysis engine.

With this we can create Rules and RuleFilters. A RuleFilter is what you would use to determine the applicability of Rules before execution. For example you may have .Net specific rule that requires Mscorwks. You can run detection for this exclude any dumps where this is not loaded. Rules and RuleFilters are differentiated by the naming convention when you save.

Filter: | <Name>.Filter.Xaml
Rule: | <Name>.Xaml

In this walkthrough we are going to demonstrate how to build a Stack Matching Rule based on the existing known issue document in KB 2759112

User Interface

The user interface contains 4 areas

Mini Rule Builder
  1. Toolbox: The left most pane in the layout. It contains all of the Workflow Activities you can use to create and design your own workflow.

  2. Main Designer: The center pane in the layout. This is where you will build a custom Workflow by dragging and dropping activities from the left pane.

    At the Bottom of the Main Window are the following tabs:

    • Variables: Temporary or local variables that you would use in your workflow.
    • Arguments: Any argument passed to the workflow will be accessible throughout the workflow. In other words arguments are passed to workflow so their values can be used/accessed from any activity. By default, Debugger, Manager and Thread objects are always passed as arguments to the DebugDiag workflow.
    • Imports: This allows you to use custom datatypes defined inside other assemblies. It is very similar to using (C#) or imports (VB.NET) namespace statement.
  3. Property Inspector: The right most pane in the layout. This is where you will customize the properties for the activity. An activity may have mandatory inputs that needs to be supplied otherwise activity returns error. For example, you want to find out a known issue by matching a call stack. You can use DDStackMatch activity for that. The DDStackMatch activity would require value for stack that you want to match without which the workflow will return error. The power comes because WF allows you to use any string or VB.NET expression for the value. This is true for almost all properties.
  4. Test Data Files: The right most pane in the layout. This is where you will customize the properties for the activity. An activity may have mandatory inputs that needs to be supplied otherwise activity returns error. For example, you want to find out a known issue by matching a call stack. You can use DDStackMatch activity for that. The DDStackMatch activity would require value for stack that you want to match without which the workflow will return error. The power comes because WF allows you to use any string or VB.NET expression for the value. This is true for almost all properties.
WALKTHROUGH

The following example is walkthrough of creating a rule that performs stack matching logic and then reports the result to the DebugDiag Report upon completion.

  1. Start DebugDiag RuleBuilder C:\Program Files\DebugDiag\DebugDiag.RuleBuilder.exe
  2. Select the sequence activity and, in the Property Inspector, change the value of the DisplayName to Sequence1
  3. For this example we will implement a rule using the IExceptionThreadRule since we need to apply this rule on crash dumps, the default rule type used by the designer is of type IHangDumpRule, to change the rule type we will need to add two arguments, click on the Arguments tab at the bottom of the DebugWorkflow Designer.
  4. Click on Create Argument and set the name to NativeException.

  5. Change the Argument type to NetDbgException.

    Tip Tip
    If the data type does not appear on the list, please click on Browse for Types... and search for the type.
  6. The same way, add another argument and name it ManagedException and set the type to Microsoft.Diagnostics.Runtime.ClrException.
  7. In the activities pane, on the Control Flow section, select an IF activity and Drag and Drop this into the Sequence Area.

  8. In the Condition Text box enter the following:

    Visual Basic Script
    View Colorized Copy to Clipboard Print
    Debugger.ClrVersionInfo.Version.Major = 4 And Debugger.ClrVersionInfo.Version.Minor = 0 And Debugger.ClrVersionInfo.Version.Revision = 30319
    Debugger.ClrVersionInfo.Version.Major = 4 And Debugger.ClrVersionInfo.Version.Minor = 0 And Debugger.ClrVersionInfo.Version.Revision = 30319
    Tip Tip

    There is no intellisense availbale on the designer so this will require some knowledge of the APIs available. Use the sample project DebugDiag.SampleAnalysisRules.csProj to see the references included and use Object Browser to see the available types.

    NetDbgObj

  9. Inside the THEN add another Sequence Control Flow activity.
  10. At the bottom of the DebugWorkflow pane, click on the Variables TAB to create a two new variables.
  11. Click on Create Variable and name the variable found, change the variable type to Boolean, and change the scope to be Sequence1
  12. Click on Create Variable again and name the variable isNullRefException, change the variable type to Boolean, and change the scope to be Sequence1

  13. From the DebugDiag section of the toolbox select DDStackMatch Activity and Drag and Drop this to the THEN area of the Second Sequence. View the Property Inspector and set the available settings of:

    • IgnoreCase : Whether or not to force Case sensitivity on the stack match, set it to false.
    • MatchFound: Define it as found which is the variable created on step 11.
    • Text : The call stack text passed to the activity, we will set this on the next step.
    • Thread : Set this value to Thread which is an object defined in Arguments and it is set to type DebugDiag.DotNet.NetDbgThread
    Note Note
    The default is do nothing for Else. So if nothing is added then nothing will occur when the IF condition does not evaluate to true.

  14. In the DDStackMatch Activity you will find an area with the text Enter stack to match, Paste the Stack you wish to match against:

    Visual Basic Script
    View Colorized Copy to Clipboard Print
    "000000003A49E6A0 000007FEECF5B721 System_Web_ni!System.Web.HttpApplication+PipelineStepManager.ResumeSteps(System.Exception)+0x931
000000003A49E780 000007FEED7E31B4 System_Web_ni!System.Web.HttpApplication+CallHandlerExecutionStep.OnAsyncHandlerCompletion(System.IAsyncResult)+0x1f4
000000003A49E810 000007FEED7FB6D3 System_Web_ni!System.Web.Util.AspCompatApplicationStep.OnAspCompatCompletion()+0x33
000000003A49E850 000007FEED7FCB0A System_Web_ni!System.Web.Util.WorkItem.CallCallbackWithAssert(System.Web.Util.WorkItemCallback)+0x2a
000000003A49E890 000007FEF2F6F8A6 mscorlib_ni!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+0x286
000000003A49E9F0 000007FEF2F6F60A mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+0xa
000000003A49EA20 000007FEF2F1B220 mscorlib_ni!System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()+0x70
000000003A49EA70 000007FEF2F1B82B mscorlib_ni!System.Threading.ThreadPoolWorkQueue.Dispatch()+0x1eb"
    "000000003A49E6A0 000007FEECF5B721 System_Web_ni!System.Web.HttpApplication+PipelineStepManager.ResumeSteps(System.Exception)+0x931
000000003A49E780 000007FEED7E31B4 System_Web_ni!System.Web.HttpApplication+CallHandlerExecutionStep.OnAsyncHandlerCompletion(System.IAsyncResult)+0x1f4
000000003A49E810 000007FEED7FB6D3 System_Web_ni!System.Web.Util.AspCompatApplicationStep.OnAspCompatCompletion()+0x33
000000003A49E850 000007FEED7FCB0A System_Web_ni!System.Web.Util.WorkItem.CallCallbackWithAssert(System.Web.Util.WorkItemCallback)+0x2a
000000003A49E890 000007FEF2F6F8A6 mscorlib_ni!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+0x286
000000003A49E9F0 000007FEF2F6F60A mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+0xa
000000003A49EA20 000007FEF2F1B220 mscorlib_ni!System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()+0x70
000000003A49EA70 000007FEF2F1B82B mscorlib_ni!System.Threading.ThreadPoolWorkQueue.Dispatch()+0x1eb"
    Tip Tip
    The addresses, source code line and other information is strip out from the string, you may also set this value to just the value of the first frame or a substring of the top of the stack.
  15. From the Control Flow activities add another IF below the DDStackMatch activity inside the sequence.
  16. Set the condition to found so we validate the value of the variable after comparing the callstack.
  17. Inside the THEN area add a sequence activity.

  18. Inside of the Sequence activity add the DebugDiag Activity DoesExceptionTypeMatch. View the Property Inspector and set the available settings of:

    • Exception: set this value to the argument ManagedException.
    • Result: Define it as isNullRefException which is the variable created on step 12.
    • TypeName: Define it as "System.NullReferenceException"
    • Thread : Set this value to Thread which is an object defined in Arguments and it is set to type DebugDiag.DotNet.NetDbgThread
  19. From the Control Flow activities add another IF below the DoesExceptionTypeMatch activity inside the sequence.
  20. Set the condition to isNullRefException so we validate the value of the variable after comparing the excpetion type.

  21. Inside the THEN area add a ReportError DebugDiag activity. View the Property Inspector and set the available settings of:

    • Recommendation: Supply value of Text so it can be inserted in the report. Set the value to "This is a known issue with .NET 4.5. To fix this problem please install <a href = 'http://support.microsoft.com/default.aspx?scid=kb;EN-US;2759112'a>KB 2759112</a>"
    • Text: Supply value of Text so it can be inserted in the report. Set the value to "An unhandled NullReferenceException in the ASP.NET code is detected."
    • TypeName: Define it as "System.NullReferenceException"
    • Weight : ( Optional) This property can be used to assign the weight of an item .This will control the order in which this will appear on the report.

Now you can save the report and give it a name, you may also test your report against a dump file to check the results.

See Also

Reference

NetDbgObj
IExceptionThreadRule
IHangDumpRule

Other Resources

DebugDiag Activities
Analysis Rules Development


User Interface

User Interface Debug Diagnostics Tool 2.1 DebugDiag

Starting in Debug Diagnostics 2.0 the user interface has been divided in 2 different applications.

DebugDiag Tools

  • DebugDiag 2.0 Collection

    The DebugDiag 2.0 Collection application DebugDiag.Collection.exe has the main functionality for gathering data for troubleshooting User application issues, it provides a main window with a set of tabs and menus that allow the user to configure debugging rules easily, and it is mainly based on Wizards that guide the user through a series of steps to configure debugging rules.

  • DebugDiag 2.0 Analysis

    The new DebugDiag 2.0 Analysis application DebugDiag.Analysis.exe replaces the Analysis tab that was included on the previous version of DebugDiag.Collection.exe. The main window allows you to configure how much data you want to include on the reports by changing the default settings, and will allow you to choose the data to be analyzed and which algorithms would be run on the data to generate the reports.

  • DebugDiag 2.0 RuleBuilder (Beta)

    This is a new feature added on DebugDiag 2.0, the Rule Builder UI DebugDiag.RuleBuilder.exe, is a tool that allows users to create custom Analysis Rules using a workflow designer UI.


DebugDiag 2.0 Collection

DebugDiag 2.0 Collection Debug Diagnostics Tool 2.1 DebugDiag

The updated DebugDiag 2.0 Collection tool provides a main window with a set of tabs and menus that allow the user to configure debugging rules easily, it is mainly based on Wizards that guide the user through a series of steps to configure debugging rules. The options provided to the user are detailed below.

Data Collection Options

  • Rules Tab

    The Rules view in the main DebugDiag window is used to configure and manage rules. It displays a list of rules that are configured, the status of the rule, and number of userdumps collected while the rule was running. The Rule Configuration Wizard is displayed when creating new rules.

  • Processes Tab

    The processes view displays a list of all running processes, and whether or not they are currently being monitored. It also allows the user to perform different actions for the processes listed

Other configuration options that provides more advanced settings for the debugger are:

  • Options and Settings

    General settings and preferences for DebugDiag can be configured via the Options and Settings dialog.

  • Pre Attach Debugger Dialog

    The Pre-Attach Debugger Dialog is used to set up Image File Execution Options for a specific executable. This is usefull for troubleshooting startup problems on user mode process and other scenarios.


Rules View

Rules View Debug Diagnostics Tool 2.1 DebugDiag

The Rules view in the main DebugDiag window is used to configure and manage rules. It displays a list of rules that are configured, the status of the rule, and number of userdumps collected while the rule was running.

The Add Rule... button starts the Rule Configuration Wizard that will guide the user through the process of configuring the debugger to gather dumps, for more information on configuring and using rules please see one of the following troubleshooting guides.

  • Troubleshooting Crashes
  • Troubleshooting Performance
  • Troubleshooting Native (non-.Net) Memory and Handle Leaks

To edit a rule that has already being defined, please select it from the list and click the Edit Rule button, this will open the Rule Configuration Wizard to perform the required changes, if you need to change the target process, make sure you create a new rule instead of editing an existing one.

Rules can also be imported and exported, which makes it easy to configure rules to run on multiple machines. For more information see Import or Export Configuration.


Processes View

Processes View Debug Diagnostics Tool 2.1 DebugDiag

The processes view displays a list of all running processes, and whether or not they are currently being monitored. The processes view can also be used to manually generate full or mini userdumps, generate a series of full memory dumps, start Leaktrack monitoring, terminate a specific process, or attach to a process with DebugDiag to monitor for crashes. These commands are available by right-clicking a process in the processes view.

Leak Manual Inject


Options and Settings

Options and Settings Debug Diagnostics Tool 2.1 DebugDiag

General settings and preferences for DebugDiag can be configured via the Options and Settings dialog. The settings are stored in the config.xml file located in the DebugDiag installation folder. To open the Options and Setting dialog choose Tools->Options & Settings... option from the DebugDiag main menu.

Folders and Search Paths
options And Settings

Symbol Search Path For Debugging

Specifies where DebugDiag looks for symbol files while monitoring a process. Specify a valid symbol path here when using the Advanced Breakpoint configuration or when logging stack traces of a crash rule. It is not recommended to point this path to an http symbol server, as it will slow down the performance of the process DebugDiag is monitoring. By default this is left blank. Please see the section on Symbols for more information.

Manual Userdump Save Folder

Specifies the path that Userdump files will be saved to when dumping when generating userdumps manually.

Fixed Initial Folder For Data Files

Used to specify the path DebugDiag defaults to when adding data files for analysis. This option will only take affect if the option is enabled on the preferences tab.

Preferences

Show rule wizard on start-up if rule list is empty

When checked the rule wizard will be displayed when DebugDiag starts up if no rules are configured.

Include source and line information in debug logs.

When checked source file and line numbers for resolved symbols on the call stack will be displayed in the analysis report.

Enable script debugging when script errors happen during analysis

When checked, any script errors that occur while running an analysis script will cause a script debugger to start.

Use fixed initial folder for data files

When checked, DebugDiag will open the folder specified in Fixed Initial Folder For Data Files when data files are added on the Advanced Analysis tab.

Prompt to choose debugger control script in manual attach mode

When checked, the user is allowed to select the control script DebugDiag will use when manually attaching to a process via the processes tab.

Save reports in relative subfolders when possible

When checked, DebugDiag will try to save the analysis reports in the directory where the dump file was loaded from. Otherwise the reports are saved in the Reports folder under the DebugDiag directory.

Use service mode to overcome terminal server limitations (not persisted)

When checked, DebugDiag will be allowed to attach to processes through a terminal server session. This option is controlled automatically when a rule is configured.

Allow leak monitoring when McAfee VirusScan(R) Buffer Overflow Protection is enabled.

When checked, DebugDiag will not perform a check to see if the McAfee VirusScan(R) Buffer Overflow Protection is enabled. This could lead to leak monitoring to cause an AV. The check is done to make sure McAfee is at the latest version, as older versions of McAfee VirusScan(R) are not compatible with DebugDiag leak tracking. Only check this option if you know you have the latest version of McAfee VirusScan(R) and you are still being warned about McAfee when trying to do leak tracking.

Record call stacks immediately when monitoring for leaks (not recommended when monitoring longer than 15 minutes)

By default DebugDiag does not start collecting call stacks immediately when leak tracking. If a leak is very quick, then check this option to have DebugDiag to start collecting stack traces immediately.

Include RpcSs and DcomLaunch services when dumping all IIS/COM+ related processes

When checked, DebugDiag will create a memory dump file for the RpcSs and DcomLaunch services when dumping all IIS/COM+ related processes. These two services are hosted in svchost.exe.

Check for updates on startup

When selected, every time the DebugDiag.Collection.exe UI starts, it will check for newer versions of Debugdiag and propmpt the user in case any update is available to download it.

Performance Log

Enable/Disable Performance Counter Data Logging

When this option is selected, DebugDiag generates a performance monitor log that takes samples at the Data Sampling Interval. The performance monitor log is saved to the PerfLogs folder in the DebugDiag\Logs folder. The performance monitor log is disabled by default and will start when the DbgSvc.exe is started for the first time. The counter objects being monitored cannot be configured and is limited to all counters and all instances for the following performance objects.

  • Memory
  • Process
  • Processor
  • System
  • ASP.NET
  • Active Server Pages
  • Web Service
  • Internet Information Services Global
  • TCP
  • TCPV4
  • TCPV6

Data Sampling Interval (Seconds)

Specifies the amount of time in seconds that each data sample is collected for performance monitor logging.


Pre Attach Debugger Dialog

Pre Attach Debugger Dialog Debug Diagnostics Tool 2.1 DebugDiag

The Pre-Attach Debugger Dialog is used to set up Image File Execution Options for a specific executable. Specifically, it adds the Debugger string value specifying DbgHost.exe as the debugger for the specified executable. This can be useful for troubleshooting issues where a process is terminating unexpectedly while starting. The dialog box adds a registry key for the executable specified to the following registry key, and adds the Debugger string value to the new key.

View Colorized Copy to Clipboard Print
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
pre Attach Debugger

Type in the name of the executable

Type in the name of the process that DebugDiag will attach to at startup.

Security note Security Note
The Pre-Attach feature in Debugdiag requires that the account under which the target executable is running to have Full Control permissions to the .\Debugdiag\Logs folder so a log file could be created and maintained during the debugging session. The reason behind that is that in this specific scenario, Debugdiag is not the tool that launching the debugger, but rather it is the OS that launches the debugger configured in IFEO. Because of that, dbghost.exe will be running under the same account as the target executable.

Optional: Specify the full path to the crash control script

Specify the name of a crash control script to be used when attaching to the process at startup. If no file is specified default crash configuration is used.

Enable pre-attaching using dbghost for the executable specified above

Checking this checkbox and clicking OK will add a registry key and Debugger string value for that new key to the following registry key:

View Colorized Copy to Clipboard Print
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\

Clearing the checkbox and clicking OK will remove the Debugger string value from the specified executables Image File Execution Options.


Rule Configuration Wizard

Rule Configuration Wizard Debug Diagnostics Tool 2.1 DebugDiag

The following contains links to the configuration dialogs used when setting up new rules using the Rules Wizard.

General Dialogs
  • Select Rule Type Dialog
  • Select Dump Location and Rule Name Dialog
  • Rule Completed Dialog
  • Import or Export Configuration
Crash Rule Dialogs
  • Select Target Type Dialog
  • Select Target Dialog (Specific Process)
  • Select Target Dialog (COM+ Application)
  • Select Target Dialog (Application Pool)
  • Select Target Dialog (NT Service)
  • Advanced Configuration Dialog
  • First Chance Exception Configuration Dialog
  • Configure Exception Dialog
  • Configure Breakpoints Dialog
  • Configure Breakpoint Dialog
  • Debugger Event Configuration Dialog
  • Configure Debugger Event Dialog
  • Configure PageHeap Flags Dialog
Hang Rule Dialogs
  • Select Performance Rule Type Dialog
  • Select Performance Counters Dialog
  • Properties of Performance Monitor Trigger Dialog
  • Select URLs to Monitor Dialog
  • Properties of URL to Monitor Dialog
  • Select Dump Targets Dialog
  • Add Dump Target Dialog
Memory and Handle Leak Rule Dialogs
  • Select Target Dialog (Specific Process)
  • Configure Leak Rule Dialog


General Dialogs

General Dialogs Debug Diagnostics Tool 2.1 DebugDiag

The following contains links to the general dialogs used when configuring rules.

  • Select Rule Type Dialog
  • Select Dump Location And Rule Name Dialog
  • Rule Completed Dialog
  • Configure UserDump Series Dialog
  • Import or Export Configuration


Select Rule Type Dialog

Select Rule Type Dialog Debug Diagnostics Tool 2.1 DebugDiag

Crash

Select this option if a process or service is terminating unexpectedly. When there are events in the event log indicating that a specific service or process is terminating unexpectedly, choose this option to troubleshoot why those events are occurring.

Performance

Select this option if a response from the IIS Server takes longer than expected, or if the IIS server is sufferring from poor performance (e.g. high CPU). It is usually a good idea to test a simple HTML or ASP page before jumping to conclusions on the status of IIS. If the simple page does not respond in a timely manner it is a good idea to select this option to troubleshoot the problem

Native (non-.NET) Memory and Handle Leak

Select this option if a native process on the system continuously allocates memory but never frees it, or if a process on the system opens handles and never closes them. Use performance monitor before selecting this option to determine if a specific process is experiencing these symptoms.

Do not show this wizard automatically on startup

Select this checkbox to prevent the rules wizard from starting when the DebugDiag process is started. The wizard will not appear during startup if a rule is already configured, or this check box is checked.


Select Dump Location and Rule Name Dialog

Select Dump Location and Rule Name Dialog Debug Diagnostics Tool 2.1 DebugDiag

This dialog box is used to configure the name of the rule and the location where any generated dump files will be placed. When configuring a Memory and Handle Leak rule the completion of this dialog will result in the rule being activated.

Rule Name

Type in the name of the rule being configured. The name specified here will be used to identify this rule configuration.

Userdump Location

Type in the path where any generated dump files will be placed. This only specifies where dump files are placed. A log file is created for each process being monitored and that is placed in the Logs folder under the install path of DebugDiag.


Rule Completed Dialog

Rule Completed Dialog Debug Diagnostics Tool 2.1 DebugDiag

This dialog box is used to activate or deactivate a rule.

Activate the rule now

Select this option to activate the rule immediately upon completion of the rule configuration wizard. or when modifying a rule in order to activate it. When this option is selected the processes configured in the rule are monitored per the rules configuration.

Do not activate the rule at this time

Choose this option to configure a rule that can be activated in the future or when modifying a rule in order to deactivate it. When this option is selected the processes configured in the rule are not monitored. If the rule was previously activated, monitoring is stopped.


Import or Export Configuration

Import or Export Configuration Debug Diagnostics Tool 2.1 DebugDiag

On the Rules tab you will see two buttons on the bottom portion of the window, Import... and Export... Select the Import option to import DebugDiag configuration from a saved .ddconfig configuration file. Choose the Export option to export some or all of the current DebugDiag configuration to a new .ddconfig file, which can then be imported into DebugDiag running on a different server.

Import

Select the Import option to import DebugDiag configuration from a saved .ddconfig configuration file.

Export

Choose the Export option to export some or all of the current DebugDiag configuration to a new .ddconfig file. Following is a walkthrough of an example Export operation:

  1. On the Rules tab, click Export...

  2. On the Select Rules and Settings window you will be presented with a list of rules and preferences to export to a configuration file. To select an item, check its checkbox. To de-select an item, make sure its checkbox is unchecked.

  3. Once you have selected the desired checkboxes, you will have the option to export the output to a local file, or to export it to a remote machine.
  4. To export to a local file, click Export to file... Enter a name for the file and choose its location, then click Save.
  5. To export to a remote location, click Export to remote machine(s)...

  6. In the Machine Name textbox, type the name of the server you want to export to, then click Add.

  7. Check the Deactivate and remove any existing rules... checkbox to turn off and remove any existing rules on the target machine before importing the new rules and settings via this export operation.
  8. Click Export Now.

A message will appear indicating that the Export process was successful.


Crash Rule Dialogs

Crash Rule Dialogs Debug Diagnostics Tool 2.1 DebugDiag

The following contains links to the crash rule dialogs used when configuring rules for a process that quits unexpectedly.

  • Select Target Type Dialog
  • Select Target Dialog (Specific Process)
  • Select Target Dialog (COM+ Application)
  • Select Target (Application Pool)
  • Select Target Dialog (NT Service)
  • Advanced Configuration Dialog
  • First Chance Exception Configuration Dialog
  • Configure Exception Dialog
  • Configure Breakpoints Dialog
  • Configure Breakpoint Dialog
  • Debugger Event Configuration Dialog
  • Configure Debugger Event Dialog
  • Configure PageHeap Flags Dialog


Select Target Type Dialog

Select Target Type Dialog Debug Diagnostics Tool 2.1 DebugDiag

This dialog box is used during the configuration of a crash rule and is used to specify which processes or services are monitored for unexpected termination due to 2nd chance exceptions.

All IIS/COM+ related processes

Select this option when the process that is terminating unexpectedly is not known, or more than one IIS related process is terminating unexpectedly. Typically the event logs will indicate the exact process or service that is terminating unexpectedly.

A specific process

Select this option when the process to be monitored is known. When selecting this option a list of processes running on the system will be displayed to choose from.

A specific COM+ application

Select this option when the process that is terminating unexpectedly is a COM+ Application. Look in the Application event log to determine which COM+ Application has shut down unexpectedly. When selecting this option a list of COM+ applications will be displayed to choose from.

A specific IIS web application pool

Select this option when a specific application pool is terminating unexpectedly. Look in the event logs to determine which application pool is terminating unexpectedly. When selecting this option a list of application pools will be displayed to choose from.

A specific NT service

Select this option when a specific NT service is terminating unexpectedly. Look in the event logs to determine which service is terminating unexpectedly. When selecting this option a list of services will be displayed to choose from.


Select Target Dialog (Specific Process)

Select Target Dialog (Specific Process) Debug Diagnostics Tool 2.1 DebugDiag

This dialog displays a list of processes running on the system. The processes can be sorted by columns. Select the process to troubleshoot then click next to continue configuring the rule.

This process instance only checkbox

Check this checkbox when multiple instances of the same process are running on the system and only a specific instance of that process is to be monitored. If the checkbox is not checked all instances of the process name selected will be monitored after activating the rule.


Select Target Dialog (COM+ Application)

Select Target Dialog (COM+ Application) Debug Diagnostics Tool 2.1 DebugDiag

This dialog displays a list of COM+ Applications running on the system. Select the COM+ Application to troubleshoot then click next to continue configuring the rule.


Select Target (Application Pool)

Select Target (Application Pool) Debug Diagnostics Tool 2.1 DebugDiag
Select Target App Pool

This dialog displays a list of Application Pools on the system. Select the application pool to troubleshoot from the list and click next to continue configuring the rule.


Select Target Dialog (NT Service)

Select Target Dialog (NT Service) Debug Diagnostics Tool 2.1 DebugDiag

This dialog displays a list of services on the system. The list can be sorted by any column. Select the service to troubleshoot from the list and click next to continue the rule configuration for this service.


Advanced Configuration Dialog

Advanced Configuration Dialog Debug Diagnostics Tool 2.1 DebugDiag

This topic contains the following sections.

  • Configuration Options
    • Unconfigured First Chance Exceptions
    • Maximum Userdump Limit
    • Advanced Settings
Configuration Options

The advanced configuration dialog allows you to perform the following configurations:

Unconfigured First Chance Exceptions

By default all first chance exceptions are written to a log file with minimal information. Use the dropdown to configure an alternate action for all unconfigured first chance exceptions.

Action type for unconfigured first chance exceptions

  • None - Only information that an exception occurred will be logged to the log file.
  • Log Stack Trace - Information that an exception occurred and the stack trace that caused the exception will be logged to the log file. The stack trace will not be very accurate unless symbols have been set up correctly for DebugDiag.
  • Mini Userdump - A Mini userdump is generated in the dump folder specified for the rule. This option allows better resolution of the call stack that caused the first chance exception because the mini userdump can be analyzed with symbols to resolve the complete stack. Since all of the memory for the process is not dumped only limited analysis can be done.
  • Full Userdump - A Full userdump is generated in the dump folder specified for the rule. All of the memory for the process is dumped which results in a larger output file. Since all of the memory is dumped a complete analysis can be done on the dump created by this option.

Action Limit for unconfigured first chance exceptions

Zero is the default value for this option. This allows all first chance exceptions to be logged. If the action type is set to Mini or Full userdump set the Action Limit to something other than 0. This will limit the number of dump files created for unconfigured first chance exceptions. The number of dump files created is limited by the Maximum Userdump Limit configured in this dialog regardless of the value set here.

Maximum Userdump Limit

Maximum number of userdumps created by this rule

Set the maximum number of userdumps created for this rule, the default is 10. The value set here will be the maximum number of dumps created for first chance exceptions, custom breakpoints, and advanced exceptions. All second chance exceptions are guaranteed to create a dump file regardless of the value set here.

Advanced Settings

Advanced Settings Exceptions Button

Clicking this button will open the First Chance Exception Configuration dialog box. Use this to specify actions for specific first chance exceptions.

Advanced Settings Breakpoints Button

Clicking this button will open the Configure Breakpoints dialog box. Use this for advanced debugging using custom breakpoints.

Advanced Settings Events Button

Clicking this button will open the Debugger Event Configuration dialog box. Use this for advanced debugging for taking action different debug events.

Advanced Settings PageHeap Flags Button

Clicking this button will open the PageHeap Flags dialog box. Use this to enable and disable PageHeap for the process the rule is being configured for.


First Chance Exception Configuration Dialog

First Chance Exception Configuration Dialog Debug Diagnostics Tool 2.1 DebugDiag
First Chance Configdlg

Add Exception...

Clicking this button will bring up the Configure Exception dialog. Use this to configure actions for a specific type of first chance exception.

Edit Exception...

Clicking this button will bring up the Configure Exception dialog for the selected exceptions. Use this to modify the properties for the configured exception.

Remove Exception

Clicking this button will remove the selected exception from the list of configured exceptions.

Save & Close

Clicking this button will save all the configured exceptions and actions for this rule and return to the Advanced Configuration dialog. Use this when finished configuring first chance exceptions.


Configure Exception Dialog

Configure Exception Dialog Debug Diagnostics Tool 2.1 DebugDiag

This dialog box is used to configure a specific Action Type and Action Limit for a custom or well known exception code.

Exception Code (hex)

Select a well known exception from the left hand pane or type in the specific exception code in the edit box. If this exception code occurs, while the process this rule is configured for is running, the specific action configured below will be taken.

Optional Exception Name

Type in a name for the exception. If the exception code was selected from the well known exception list this field is populated automatically.

.Net Exception Type Equals... (optional, case sensitive)

This will only be available when choosing the E0434F4D or E0434352 CLR (.NET) Exception codes. You must specify the exact name of the exception in this field. For example System.IO.FileNotFoundException, or System.Threading.ThreadAbortException. This field is case sensitive.

Exception Message Includes... (optional, case sensitive)

This will only be available when choosing the E0434F4D or E0434352 CLR (.NET) Exception codes. You must specify the message contained on the exception where you want to apply the action.

Action Type

  • None - Only information that an exception occurred will be logged to the log file.
  • Log Stack Trace - Information that an exception occurred and the stack trace that caused the exception will be logged to the log file. The stack trace will not be very accurate unless symbols have been set up correctly for DebugDiag.
  • Mini Userdump - A Mini userdump is generated in the dump folder specified for the rule. This option allows better resolution of the call stack that caused the first chance exception because the mini userdump can be analyzed with symbols to resolve the complete stack. Since all of the memory for the process is not dumped only limited analysis can be done.
  • Full Userdump - A Full userdump is generated in the dump folder specified for the rule. All of the memory for the process is dumped which results in a larger output file. Since all of the memory is dumped a complete analysis can be done on the dump created by this option.
  • Custom... - A dialog is presented that allows the user to add custom script to execute when this exception is hit. The script is run when the exception occurs and the Action Limit has not been exceeded. This is useful if something other than a stack trace or user dump is needed for troubleshooting, or making decisions before creating a dump file.

Action Limit

Set the limit for the number of Mini or Full userdumps that are created when this exception occurs. A value of zero will result in unlimited number of dumps being generated. The number of dumps is always limited to the Maximum Userdump Limit specified in the Advanced Configuration Dialog.


Configure Breakpoints Dialog

Configure Breakpoints Dialog Debug Diagnostics Tool 2.1 DebugDiag

Add Breakpoint...

Clicking this button will bring up the Configure Breakpoint dialog. Use this to configure actions for a custom breakpoint.

Edit Breakpoint...

Clicking this button will bring up the Configure Breakpoint dialog for the selected breakpoint. Use this to modify the properties for the custom breakpoint.

Remove Breakpoint

Clicking this button will remove the selected breakpoint from the list of configured breakpoints.

Save & Close

Clicking this button will save all the configured breakpoints and actions for this rule and return to the Advanced Configuration dialog. Use this when finished configuring custom breakpoints.


Configure Breakpoint Dialog

Configure Breakpoint Dialog Debug Diagnostics Tool 2.1 DebugDiag

This dialog box is used to configure a specific Action Type and Action Limit for a custom breakpoint. In order for custom breakpoints to be monitored correctly symbols need to be loaded for the module specified in Breakpoint Expression. Please see the documentation on Symbols for more information.

Breakpoint Expression

Type in the name of the breakpoint expression here, or choose a default expression from the list.

Action Type

  • None - Only information that this breakpoint was hit will be logged to the log file.
  • Log Stack Trace - Information that this breakpoint was hit and the stack trace that caused the breakpoint to be hit will be logged to the log file. The stack trace will not be very accurate unless symbols have been set up correctly for DebugDiag.
  • Mini Userdump - A Mini userdump is generated in the dump folder specified for the rule. This option allows better resolution of the call stack that caused the breakpoint to be hit because the mini userdump can be analyzed with symbols to resolve the complete stack. Since all of the memory for the process is not dumped only limited analysis can be done.
  • Full Userdump - A Full userdump is generated in the dump folder specified for the rule. All of the memory for the process is dumped which results in a larger output file. Since all of the memory is dumped a complete analysis can be done on the dump created by this option.
  • Custom... - A dialog is presented to allow custom DebugDiag script to be entered in order to customize the action taken when this Breakpoint is hit. This allows for checking registers, or other values before actually generating a dump file.

Action Limit

Set the limit for the number of Mini or Full userdumps that are created when this breakpoint is hit. A value of zero will result in unlimited number of dumps being generated. The number of dumps is always limited to the Maximum Userdump Limit specified in the Advanced Configuration Dialog.


Debugger Event Configuration Dialog

Debugger Event Configuration Dialog Debug Diagnostics Tool 2.1 DebugDiag
Debugger Event Config

This dialog is used to configure actions that can be taken when a specific debugger event occurs.

Add Event...

Clicking this button will bring up the Configure Debugger Event dialog. Use this to configure actions for a specific debugger event.

Edit Event...

Clicking this button will bring up the Configure Debugger Event dialog for the selected debugger event. Use this to modify the properties for the debugger event.

Remove Event

Clicking this button will remove the selected debugger event from the list of configured debugger events.

Save & Close

Clicking this button will save all the configured debugger events and actions for this rule and return to the Advanced Configuration dialog. Use this when finished configuring actions for debugger events.


Configure Debugger Event Dialog

Configure Debugger Event Dialog Debug Diagnostics Tool 2.1 DebugDiag
Configure Debugger Event

This dialog box is used to configure a specific Action Type and Action Limit for a one of the listed debugger events. The debugger events are events that occur while a debugger is attached to a process.

Event Code/Event Name

Select a specific event from the list of debugger events and the Event Code and Event Name fields will be populated automatically.

Module Name

This option will only appear for the Module Load and Module Unload events. Specify the name of the module in the edit box for which to monitor for load/unload debug events.

Action Type

  • None - Only information that this debug event occurred will be logged to the log file.
  • Log Stack Trace - Information that this debug event occurred and the stack trace that caused the debug event to occur will be logged to the log file. The stack trace will not be very accurate unless symbols have been set up correctly for DebugDiag.
  • Mini Userdump - A Mini userdump is generated in the dump folder specified for the rule. This option allows better resolution of the call stack that caused the debug event to occur because the mini userdump can be analyzed with symbols to resolve the complete stack. Since all of the memory for the process is not dumped only limited analysis can be done.
  • Full Userdump - A Full userdump is generated in the dump folder specified for the rule. All of the memory for the process is dumped which results in a larger output file. Since all of the memory is dumped a complete analysis can be done on the dump created by this option.
  • Custom... - A dialog is presented to allow custom DebugDiag script to be entered in order to customize the action taken when this debug event occurs. This allows for checking registers, or other values before actually generating a dump file.

Action Limit

Set the limit for the number of Mini or Full userdumps that are created when this breakpoint is hit. A value of zero will result in unlimited number of dumps being generated. The number of dumps is always limited to the Maximum Userdump Limit specified in the Advanced Configuration Dialog.


Configure PageHeap Flags Dialog

Configure PageHeap Flags Dialog Debug Diagnostics Tool 2.1 DebugDiag
Configure Page Heap Flags

The PageHeap Flags dialog will enable or disable PageHeap for the process the rule is being configured for. PageHeap should only be enabled when troubleshooting heap corruption issues. When enabling pageheap, options are added to the ImageFileExecutionOptions section of the registry for the specific process. The registry key these options are added to is located here:

View Colorized Copy to Clipboard Print
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
NT\Current Version\Image File Execution Options
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
NT\Current Version\Image File Execution Options

Disable PageHeap

Disables pageheap by removing any configured options from the ImageFileExecutionOptions registry key.

Enable Normal PageHeap

Enables Normal Pageheap for the process the rule is being configured by adding values to the ImageFileExecutionOptions registry key. Normal pageheap uses less overhead when monitoring memory allocations than Full pageheap at the cost of possibly losing the information needed to determine the root cause of the heap corruption.

Enable Full PageHeap

Enables Full PageHeap for the process the rule is being configured for by adding values to the ImageFileExecutionOptions registry key. Full pageheap requires a lot more overhead than Normal pageheap, but is more likely to collect the information needed to determine the root cause of the heap corruption.

Custom Values

Allows granular configuration of the GlobalFlags and PageHeapFlags values at the registry key discussed above.

Note Note
Any options configured in this dialog are not enabled until the process it is being enabled for has been stopped and then started again. Therefore any existing instances of the process will continue to run without the configured settings.


Hang Rule Dialogs

Hang Rule Dialogs Debug Diagnostics Tool 2.1 DebugDiag

The following contains links to the performance rule dialogs used when configuring rules for a process that is hanging or experimenting performance issues.

  • Select Performance Rule Type Dialog
  • Select Performance Counters Dialog
  • Properties of Performance Monitor Trigger Dialog
  • Select URLs to monitor Dialog
  • Properties of URL to monitor Dialog
  • Select Dump Targets Dialog
  • Add Dump Target Dialog
  • Configure UserDump Series Dialog


Select Performance Rule Type Dialog

Select Performance Rule Type Dialog Debug Diagnostics Tool 2.1 DebugDiag
Select Performance Rule Type Dlg

This dialog box is used to select the type of Performance Rule to be run.

Performance Counters Rule

Selecting this option will choose the performance rule based on Performance Monitor counters. This can be helpful for troubleshooting issues whose behavior can be monitored in Performance Monitor, such as high CPU issues.

HTTP Response Times rule

Selecting this option will allow you to capture memory dumps based on slow HTTP response times for specific URL’s.


Select Performance Counters Dialog

Select Performance Counters Dialog Debug Diagnostics Tool 2.1 DebugDiag
Select Performance Counters Dlg

This dialog box is used during the configuration of a performance counter Performance rule. Add one or more Performance Monitor counters to monitor as part of the rule..

Add Perf Triggers

Click this button to be taken to Performance Monitor’s Add Counters window.

Edit Thresholds

Click this button to configure the desired triggers for the performance monitoring.

Remove Perf Triggers

Select one or more performance triggers from the list then click this button to remove them from the rule.


Properties of Performance Monitor Trigger Dialog

Properties of Performance Monitor Trigger Dialog Debug Diagnostics Tool 2.1 DebugDiag
Performance Monitor Trigger

Counter Name

Illustrates the performance monitor counter the trigger is being modified for.

Take action when this counter stays...

Choose either Above or Below..

This threshold

Specify a value for the threshold to which the trigger will be monitored.

For this number of seconds

Specify the number of seconds for the monitoring to be triggered before taking the configured action.


Select URLs to Monitor Dialog

Select URLs to Monitor Dialog Debug Diagnostics Tool 2.1 DebugDiag

This dialog box is used to add URLs to monitor for slow response times. It displays the URLs that are already configured along with how frequently that URL is tested, and the amount of time it uses to determine if there is a problem.

Add URL

Clicking this button will bring up the Properties of URL to monitor dialog. This is used to configure the URLs to monitor for slow response times.

Edit Intervals

Clicking this button will bring up the Properties of URL to monitor dialog for a URL that has already been configured. This is used to modify the Ping Interval and Hang Timeout for the URL.

Remove URL

Clicking this button will remove the configured URL.


Properties of URL to Monitor Dialog

Properties of URL to Monitor Dialog Debug Diagnostics Tool 2.1 DebugDiag
Properties Url Monitor Dlg

Use ETW to monitor incoming requests (IIS Only)

Choose this option to have the rule monitor requests based on the Enterprise Tracing for Windows (ETW) events that are fired for each request during request processing.

URL pattern to match

Enter the URL pattern for the rule to monitor for. You can use a full URL, such as http://myserver/vdir/page.aspx, or part of a URL, such as just page.aspx

Timeout after

Specify the timeout value for the request being monitored. If the request does not respond within the configured timeout value, a dump file will be created.

Generate regular “ping” requests

Use this option to have DebugDiag send simply HTTP ping requests to the URL being monitored.

URL to ping

Enter the URL to ping for monitoring.

Ping Every

Specify how often DebugDiag should ping the URL for monitoring.

Timeout after

Specify the timeout value for the request being monitored. If the request does not respond within the configured timeout value, a dump file will be created.

OK

Clicking this button when "Generate regular 'ping' requests" is selected will allow the URL to be tested. When it is testing the following dialog will be displayed. Make sure the response is 200 OK before continuing, otherwise the URL is not configured correctly.

URLTest Progress Dlg


Select Dump Targets Dialog

Select Dump Targets Dialog Debug Diagnostics Tool 2.1 DebugDiag
Select Dump Target

This dialog box is used to specify what processes are dumped when a hang is detected while pinging the configured URLs.

Add Dump Target

Click this button to bring up the Add Dump Target dialog. This is used to specify which processes are dumped when a hang is detected.

Remove Dump Target

Click this button to remove the selected target type. This is used to remove a target type from the list of processes to dump.


Add Dump Target Dialog

Add Dump Target Dialog Debug Diagnostics Tool 2.1 DebugDiag
Add Dump Target

This dialog box is used to specify what processes are dumped when a hang is detected while pinging the configured URLs for the hang rule.

Target Type

  • All active IIS/COM+ related processes - All running instances of inetinfo.exe, dllhost.exe, dllhst3g.exe, w3wp.exe, and aspnet_wp.exe will be dumped.
  • Executable - Displays a list of processes to choose from, and only that process will be dumped.
  • COM+ Application - Displays a list of MTS/COM+ Applications to choose from, only that MTS/COM+ Application will be dumped.
  • Web application pool - Displays a list of Web application pools to choose from, only that Web application pool will be dumped.
  • NT Service - Displays a list of NT Services to choose from, only that NT Service will be dumped.

Selected Target

After choosing the target type this edit box will display the specific target that will be dumped. If a process that needs to be dumped is not listed in the running process list the process name can be typed into this dialog directly. This is useful when troubleshooting requests that launch executables that may not be running when configuring the hang rule such as a CGI.


Configure UserDump Series Dialog

Configure UserDump Series Dialog Debug Diagnostics Tool 2.1 DebugDiag
Config User Dump Series

Generate a UserDump every

Specify how often to create a memory dump.

Start the timer when writing to the dump file...

Select to start the timer when writing the dump file begins or completes.

Stop after generating userdumps

Specify how many dump files to create before stopping the rule.

Collect Full UserDumps

Choose this option if you want the memory dumps to contain all available process information.

Collect Mini UserDumps

Choose this option if you want the tool to create simple mini dumps.

Generate a Full UserDump before first Mini UserDump

Choose this option if you want to create a full userdump before creating the first mini dump.

Generate a Full UserDump after last Mini UserDump

Choose this option if you want to create a full userdump after creating the last mini dump.


Memory and Handle Leak Dialogs

Memory and Handle Leak Dialogs Debug Diagnostics Tool 2.1 DebugDiag

The following contains links to the memory and handle leak rule dialogs used when configuring rules for a process whose memory is constantly increasing over time.

  • Select Target Dialog (Specific Process)
  • Configure Leak Rule Dialog
  • Configure Userdumps for Leak Rule Dialog


Configure Leak Rule Dialog

Configure Leak Rule Dialog Debug Diagnostics Tool 2.1 DebugDiag
Configure Leak Rule

This dialog box is used to configure options for tracking memory and handle leaks for a process.

This topic contains the following sections.

  • Warm-up time
  • Userdump generation
  • Rule completion
Warm-up time

Start memory tracking immediately when rule is activated

When this radio button is selected, memory tracking begins immediately when the rule is activated. To specify a specific warm-up time uncheck this checkbox.

Specify a time limit after which memory tracking should start.

When this radio button is selected, memory tracking after the configured warm-up time has elapsed.

Warm-up time

Specifies the time in minutes that the process is allowed to run before memory and handle tracking is started. This is useful for processes that allocate a lot of memory upon startup or take a long time to reach their normal memory usage. The time can only be specified when the Start memory tracking immediately when rule is activated checkbox is unchecked.

Userdump generation

Configure...

Clicking this button will cause the Configure User Dumps for Leak Rule dialog box to be displayed. Use this to configure more options for generating user dumps.

Rule completion

Generate final userdump after X minutes of tracking.

Will generate a final userdump after the configured amount of minutes have elapsed while tracking.

Maximum number of userdumps created by this rule

Specifies the maximum number of dump files that will be created for this rule.

Auto-unload LeakTrack when rule is completed or deactivated

Checking this checkbox will cause DebugDiag to remove the leak tracking DLL from the target process when leak tracking has completed or the rule has been deactivated.


Configure Userdumps for Leak Rule Dialog

Configure Userdumps for Leak Rule Dialog Debug Diagnostics Tool 2.1 DebugDiag
Configure User Dumps Leak Rule

This dialog box is used to configure optional userdump options when configuring a memory leak rule.

Auto-create a crash rule to get userdump on unexpected process exit.

Check this checkbox to generate a crash rule to run side by side with the memory leak rule. This is useful if the process terminates unexpectedly while tracking memory.

Generate a userdump when private bytes reach a certain size

Check this checkbox and configure the memory size if a userdump should be created when private bytes reaches a certain size. The "add each additional..." checkbox can also be enabled to have a userdump generated after the initial size has been reached and private bytes increases by the configured size specified.

Generate a userdump when virtual bytes reach a certain size

Check this checkbox and configure the memory size if a userdump should be created when virtual bytes reaches a certain size. The "add each additional..." checkbox can also be enabled to have a userdump generated after the initial size has been reached and virtual bytes increases by the configured size specified.


DebugDiag 2.0 Analysis

DebugDiag 2.0 Analysis Debug Diagnostics Tool 2.1 DebugDiag

The new DebugDiag 2.0 Analysis tool provides a main window with two sections that allow the user to choose the analysis rules that he wants to execute on the data collected, as well as selecting the dumps where such rules would be executed. The options provided to the user are detailed below.

DebugDiag Analysis Window

  • Main Window

    The main window provides a menu that will allow the customer to change the default settings for the reports, open the folder where the reports that have been generated are stored and the button that executes the analysis.

  • Analyzer Settings

    The Analyzer settings window allows the user to set different options for the information included on the report, include paths for the symbols to be used by the analyzer when creating the report and select the folder where the analyzer can add custom rules developed by the user or any third party.


DebugDiag Analysis Window

DebugDiag Analysis Window Debug Diagnostics Tool 2.1 DebugDiag

Starting on Debug Diagnostics 2.0, the analysis view has been replaced with a new user interface that will allow the user to select the dumps to analyze, and choose between a new set of rules, developed using the .Net framework, that can be customized according to the customer needs.

ToolBar

The main window contains a Tool Bar composed by 4 buttons, and two different sections to allow the user select the analysis rules, and choose the dumps to analyze.

The settings button displays the settings windows where the user may set the preferences for the reports generated

The Open Reports Folder button, will open a new explorer window on the folder where the reports that has been previously generated are stored

The Start button, will run the selected analysis rules on the dumps you have selected.

The Help button will display this help on the Advanced Analysis topic.

Analysis Rules

The analysis rules section contains a list of algorithms that will generate a report according to the problem you are trying to troubleshoot. for more information on how to use the rules available see the Advanced Analysis topic.

Data Files

The Data Files allows the user to select the dump files previously gathered by the debugger. To add files you want to analyze just click on the Add button, an explorer window will appear to select one or multiple dump files.

Once selected the files, some basic information will be displayed about the content of the dump like:

  • Type - icon that represents the kind of rule that was used to gather the dump.
  • Bitness - to specify if the application was compiled for 32 or 64 bits (x86 or x64).
  • CLR - if a version of the .Net framework has been loaded on the dump this fiel will prompt which version of the >net framework was found.
  • File Name - File name of the dump.
  • Path - Folder where the dump is located.


Analyzer Settings

Analyzer Settings Debug Diagnostics Tool 2.1 DebugDiag

The DebugDiag analysis 2.0 tool provides a set of configuration options that you may edit to customize some of the report options.

Preferences
  • Save reports in relative subfolders when possible - When checked, DebugDiag will try to save the analysis reports in the directory where the dump file was loaded from. Otherwise the reports are saved in the Reports folder under the DebugDiag directory.
  • Include source and line information in analysis reports. - When checked, source file and line numbers, for resolved symbols on the call stack, will be displayed in the analysis report. By default this setting is not enabled
  • For crash dumps, set the context to the exception of interest - When checked, it will cause the analyzer to change set the proper context on the thread the exception that crashed the application happened. This setting is enabled by default.
  • For crash dumps, run hang rules and crash rules - When checked, both analysis, crash and hang, will be performed on the dump providing information of all the threads found on the dump instead of reporting information about the thread that caused the crash. By default this setting is enabled.
  • Save Report Files to: - Allows the user to change the folder location where reports are stored, bu default the location is %documents%
Symbol search paths to use for Analysis

In this section you may set the path where debugdiag Analysis should look for symbols files, symbols are usualy files with a pdb extension that could be generated when the application was compiled, each modules of your application should have a symbol file associated with it, for windows modules symbols to be resolved please check the Microsoft Public Symbols Servers location.

Rule search paths to load rules from

All the analysis rules that come with debugdiag 2.0 by default, are stored on the AnalysisRules directory, inside of the debugdiag installation path. If you create custom rules, in order to be able to use them when analyzing dumps, you may need add the path where the module containing the rules is located here, or you may copy the assembly containing the rules to the AnalysisRules directory.


DebugDiag 2.0 RuleBuilder (Beta)

DebugDiag 2.0 RuleBuilder (Beta) Debug Diagnostics Tool 2.1 DebugDiag

The DebugDiag 2.0 RuleBuilder tool, provides a designer composed by a main window with four different areas that allow the user to build custom rules based on a predefined set of DebugDiag Workflow activities that have been created to provide a straightforward way of creating custom rules and rule filters.

A RuleFilter is what you would use to determine the applicability of Rules before execution. For example you may have .Net specific rule that requires Mscorwks. You can run detection for this exclude any dumps where this is not loaded. Rules and RuleFilters are differentiated by the naming convention when you save.

RuleBuilder User Interface

The Rulebuilder application has a main window composed by: a simple menu that allows the user open, save and create new rules or rule filters, and a layout contining the following areas:

  • Toolbox

    The left most pane in the layout. It contains the custom Activities, that are part of the DebugDiag Ativity library, along with the Online Built-in Workflow Foundation Activity Library.

  • Main Designer

    The center pane in the layaout. This is where you may create the custom rule or filter be dragging and dropping a sequence of activities, from the left pane, to perform over the dump file.

  • Property Inspector

    The left most pane in the layout. This section works like the properties window in Visual Studio and it allows to set the arguments for the activities. Use this section to review the input and output arguments of any activity and to customize expressions according to your needs.

  • Test Data Files

    The Bottom pane in the layaout. This section will allow you to select dumps to test your rule and generate a report showing the results after running the rule.

See Also

Other Resources

Online Built-in Workflow Foundation Activity Library
Using the RuleBuilder (Beta) to create Analysis Rules


Rule Builder Designer

Rule Builder Designer Debug Diagnostics Tool 2.1 DebugDiag

One of the new features of DebugDiag 2.0 is the RuleBuilder, which is a designer tool that allows the user to build custom rules and rule filters using a workflow based on a set of custom DebugDiag Activities. This designer is composed by a single window with four different areas and a very simple menu that will allow the user to create a new rule, save the current rule and open a previously saved rule.

This topic contains the following sections.

  • Toolbox
  • Main Designer
  • Property Inspector
  • Test Data Files
  • See Also
Toolbox

At the left side of the main window you will find the custom Activities, that are part of the DebugDiag Ativity library, along with the Online Built-in Workflow Foundation Activity Library.

Rule Builder Activities

At the top of the toolbox section there is a search textbox that may be use to filter the Activities displayed.

The Custom DebugDiag Activities are:

DDSTackMatch
This activity allows to perform a comparison between a string defined by the user on the Text argument and the string representation of the stacks on the dump. The result of the comparison will return a boolean value on that can be retrieved throught the MatchFound argument of the activity.
FindFrameInStack
This activity will return the number of the frame that contains the specified string set on the Text argument of the activity, the returned value will be placed on the Result argument, if the string does not match any of the strings on the frames of the stack the returned value will be -1.
GetUrlFromHttpContext
This activity is intended for ASP.Net applications and it returns the string of the URL contained on the HttpContext managed object, to do so, you will first need to set the clrHeap argument that can be obtained from the Debugger Object, and you will need to set the ClrObject of the addess HttpContext Object where the URL needs to be retrieved.
DoesExceptionTypeMatch
This activity allows to compare a ClrException obtained from the stack being analyzed with the input argument Exception.
ManagerWriteLine
This activity will write a line on the report generated by the rule based on the Text input argument.
WriteNameValuePair
This activity will write a value name pair on the report generated and you can specified some properties for the output like color, size and if the text format should be Bold.
ReportError
This activity will add a line on the report summary indicating that the analysis performed has found something that could be considered a known error has been found on the dump, you may set the description of for the error in the Text argument and a recommendation for the user on the corresponding argument.
ReportInformation
This activity will add a line on the report summary to provide information relevant found on the dump analysis, you may set the description field on the report using the Text argument.
ReportWarning
This activity will add a line on the report summary indicating that the analysis performed has found something that is considered a flag on the dump, you may set the description of for the warning in the Text argument and a recommendation for the user on the corresponding argument.
GetStringFromAddress
This activity will attempt to return a .Net String value from the address specified on the heapAddress argument, the returned value will be on the returnString argument.
GetStringFromStringArrayAddress
This activity will attempt to return a .Net String value from an Array using the address of the Array and the Index of the String value to be returned, the returned value will be on the returnString argument and the address of the string and the lenght will be also returned on the corresponding arguments.
Main Designer

This section is the workflow designer, and is located on the center of the window. You may drag and drop components from the toolbox into this designer, to create the custom rule by using a sequence of activities to be performed over the dump file.

You may drag and drop any fo the DebugDiag Activities, control flow activities, and other activities available to add the logic behind the custom analysis and to build the report, after adding an activity you may set its arguments using the properties section.

At the Bottom of the Main designer you will find the following tabs:

  • Variables: Temporary local variables that you would use in your workflow.
  • Arguments: Any argument passed to the workflow will be accessible throughout the workflow. In other words arguments are passed to workflow so their values can be used/accessed from any activity. By default, Debugger, Manager and Thread objects are always passed as arguments to the DebugDiag workflow.
  • Imports: This allows you to use custom datatypes defined inside other assemblies. It is very similar to using (C#) or imports (VB.NET) namespace statement.
Property Inspector

This section works like the properties window in Visual Studio and it allows to set the arguments for the activities. Use this section to review the input and output arguments of any activity and to customize expressions according to your needs.

To change the arguments or properties of any activity select the activity on the DebugWorkflow section and change its properties. This also applies for Arguments and Variables you find on the Variables and Arguments Section

Test Data Files

This section will allow you to select dumps to test your rule and generate a report showing the results of running the rule.

Rule Builder Test Data Files

To add a dump to test your rule, click on the Add Data Files, whenever you are ready to test the rule just click on the start analysis button at the bottom of the window.

See Also

Reference

NetScriptManager
NetDbgObj
NetDbgThread

Other Resources

Reference
Developer Guide
Online Built-in Windows Workflow Foundation Activity Library
Using the RuleBuilder (Beta) to create Analysis Rules


Developer Guide

Developer Guide Debug Diagnostics Tool 2.1 DebugDiag

Debug Diagnostics tool provides a .Net API and an underlying object model that will allow you to customize the tool to fit your analysis needs.

Here you will find the documentation intended to explain how to create, configure, debug, and deploy your custom rules. You will find code samples on how to build basic rules, walkthorughs to easily start building your custom rules, and last but not least, the API documentation and code samples you can use as reference to understand the underlying object model.

Content
Samples
If you need to customize how the debugger captures a dump with a control scrip, or create a new custom rule using the new rulebuilder or by using Visual Studio and the DebugDiag object model, you can start by reviewing the samples included on the tool.
Reference
The reference section contains the documentation of the object model that conforms the DebugDiag API for creating custom rules.


Samples

Samples Debug Diagnostics Tool 2.1 DebugDiag

DebugDiag documentation includes some sample code to help you get started on developing custom rules to satisfy your analysis needs and also examples on how to customize the control scripts used by the DebugDiag Collector tool.

You can use Visual Studio 2012 to open the sample code and create your own rules based on the samples provided.

Samples included:

The samples included in debugdiag are located in c:\program files\debugdiag\samples and there are two different kind of examples, the first set of examples are intended for data collection, and show how to customize the collector generated scripts, in order to generate custom collection actions, the samples included are:

Control Scripts
Everytime you define a rule using the DebugDiag.Collector.exe rule wizard, a control script is created on order to gather the dump according to the configuration previously defined while using the wizard. If your scenario requires more control over the debugger in order to gather the right set of data you are able to modify the control script. We offer four different sample control scripts that show some common customizations, and to show part of the underlying object model of the DbjControl object.
Analysis Rules
Starting with DebugDiag 2.0 analysis rules and filters are created using .Net framework programming languages. You will be able to create custom rules by using either the DebugDiag.RuleBuilder.exe which provides a Workflow Desginer to write rules with minimum code, or by using Visual Studio 2012 and the DebugDiag API. The sample Analysis rule included, are divided on samples for using the RuleBuilder and Samples using Visual Studio 2012.

The second set of examples are intended for creating custom analysis rules using the DebugDiag API:


Control Scripts

Control Scripts Debug Diagnostics Tool 2.1 DebugDiag

The DebugDiag collector, stills operating using scripts and COM objects that control the debugger. If you need more control over how the debugger will gather information of the process and the way it should trigger the collection of a dump you may use the following samples to customize the scripts generated by the Rule Wizard when creating a rule.

Control Script Samples

Below you will find the list of control scripts samples available on C:\Program Files\DebugDiag\Samples\ControlScripts:

ASP Requests Queued Performance Trigger Sample
This sample explains how to modify the DebugDiag service script so that an action can be taken when a Performance Monitor counter exceeds a specified value for a specified duration of time. In this specific example a dump file is generated for all IIS related processes when the 'Request Queued' counter for the 'Active Server Pages' performance monitor object exceeds a value of 2 for a duration of at least 1 second.
ASP.NET Execution Time Performance Trigger Sample
This sample explains how to modify the DebugDiag service script so that an action can be taken when a Performance Monitor counter exceeds a specified value for a specified duration of time. In this specific example a dump file is generated for all w3wp.exe processes when the 'Request Execution Time' counter for the 'ASP.NET' performance monitor object exceeds a value of 80 seconds for a duration of at least 1 second.
Process Memory Limit Sample
This sample explains how to modify the DebugDiag service script so that an action can be taken when the memory consumption for a process exceeds a specified value, as well as inject leak tracker to monitor for memory leaks when the process is started. In this specific example a dump file is generated for any w3wp.exe process that exceeds 1.8 GB in size, and leak track is injected when any w3wp.exe is started.
Time Trigger Sample
This sample shows how to use a TimeTrigger to take action at a given time interval, similar to using a PerfTrigger to take action at a given performance counter threshold. In this case it records call stacks for the target process every 5 minutes, logging the data into an .htm output file at the specified path.
See Also

Other Resources

Rule Wizard
Analysis Rules Development


ASP Request Queued Performance Trigger Sample

ASP Request Queued Performance Trigger Sample Debug Diagnostics Tool 2.1 DebugDiag

This sample explains how to modify the DebugDiag service script so that an action can be taken when a Performance Monitor counter exceeds a specified value for a specified duration of time. In this specific example a dump file is generated for all IIS related processes when the 'Request Queued' counter for the 'Active Server Pages' performance monitor object exceeds a value of 2 for a duration of at least 1 second.

This topic contains the following sections.

  • Setup
  • Script Details and Customization
Setup
  1. Rename "C:\Program Files\DebugDiag\Scripts\DbgSVC.vbs" to "DbgSVC.original" to backup the original control script for the DebugDiag Service.

  2. Copy "C:\Program Files\DebugDiag\Samples\ControlScripts\PerfTriggers\ASPRequestQueued\DbgSVC.vbs" to"C:\Program Files\DebugDiag\Scripts\DbgSVC.vbs".

    Note Note
    If a rule is activated, deactivated, created or removed a new DbgSvc.vbs file will be created and overwrite this file.
  3. Customize the script to trigger on the counter, and take action on the IIS Processes.
Script Details and Customization

This sample script contains two main sub routines; Controller_OnStart(), and Controller_OnPerfTriggerHit(), which set up the performance trigger and take action on the performance trigger respectively. The rest of the sub routines, functions, and variables used in the script are helper functions that can be used in the script, or routines that are called by the DebugDiag service. This section will focus on the two sub routines used to configure the performance monitor trigger, and briefly discuss the other sub routines, functions, and variables in the script. There are also a lot of built in objects available to the script by default, and more documentation on those can be found in the DebugDiag Service Object Model **ADD LINK **.

Controller_OnStart()

This routine contains the code for setting up the performance trigger. Specifically this code below:

Visual Basic Script
View Colorized Copy to Clipboard Print
'We want notification when our counter exeeds 2 Requests Queued for any longer than 1 second
Set NewTrigger = Controller.PerfWatcher.CreatePerfTrigger("\Active Server Pages\Requests Queued", True, 2, 1)

' Store the PerfTrigger ID
ServiceState("PERFTRIGGER_ASPNETEXECUTIONTIME_ID") = NewTrigger.PerfTriggerID

' How many times do we want to act on the perf trigger?
ServiceState("PERFTRIGGER_ACTIONLIMIT_" & NewTrigger.PerfTriggerID) = 1

' Reset the action counter
ServiceState("PERFTRIGGER_ACTIONCOUNT_" & NewTrigger.PerfTriggerID) = 0

' Write out new PerfTrigger info
WriteToLog "NewTrigger Has Been Created:" & vbCRLF & _
"--------------------------" & vbCRLF & _
"PerfTriggerID = " & NewTrigger.PerfTriggerID & vbCRLF & _
"CounterPath = " & NewTrigger.CounterPath & vbCRLF & _
"TriggerIfAbove = " & NewTrigger.TriggerIfAbove & vbCRLF & _
"Limit = " & NewTrigger.Limit & vbCRLF & _
"LastValue = " & NewTrigger.LastValue & vbCRLF & _
"SecondsOutsideLimit = " & NewTrigger.SecondsOutsideLimit
'We want notification when our counter exeeds 2 Requests Queued for any longer than 1 second
Set NewTrigger = Controller.PerfWatcher.CreatePerfTrigger("\Active Server Pages\Requests Queued", True, 2, 1)

' Store the PerfTrigger ID
ServiceState("PERFTRIGGER_ASPNETEXECUTIONTIME_ID") = NewTrigger.PerfTriggerID

' How many times do we want to act on the perf trigger?
ServiceState("PERFTRIGGER_ACTIONLIMIT_" & NewTrigger.PerfTriggerID) = 1

' Reset the action counter
ServiceState("PERFTRIGGER_ACTIONCOUNT_" & NewTrigger.PerfTriggerID) = 0

' Write out new PerfTrigger info
WriteToLog "NewTrigger Has Been Created:" & vbCRLF & _
"--------------------------" & vbCRLF & _
"PerfTriggerID = " & NewTrigger.PerfTriggerID & vbCRLF & _
"CounterPath = " & NewTrigger.CounterPath & vbCRLF & _
"TriggerIfAbove = " & NewTrigger.TriggerIfAbove & vbCRLF & _
"Limit = " & NewTrigger.Limit & vbCRLF & _
"LastValue = " & NewTrigger.LastValue & vbCRLF & _
"SecondsOutsideLimit = " & NewTrigger.SecondsOutsideLimit

Controller_OnPerfTriggerHit(ActiveTrigger)

This routine is called by the DebugDiag Service when a configured performance trigger occurs. The trigger that caused the event is passed into the routine. Below is the code for this sample, and comments on each section and what they do.

Visual Basic Script
View Colorized Copy to Clipboard Print
Sub Controller_OnPerfTriggerHit(ActiveTrigger)
Dim nActionLimit, nActionCount
Dim DumpName, ActiveProcess

'Write to the DbgSvc Log file
WriteToLog "OnPerfTriggerHit fired for counter: " & ActiveTrigger.CounterPath

Select Case ActiveTrigger.PerfTriggerID
  Case ServiceState("PERFTRIGGER_ASPNETEXECUTIONTIME_ID")

    ' Write to the DbgSvc Log File
    WriteToLog "Taking action on the following PerfTrigger:" & vbCRLF & _
    "--------------------------" & vbCRLF & _
    "PerfTriggerID = " & ActiveTrigger.PerfTriggerID & vbCRLF & _
    "CounterPath = " & ActiveTrigger.CounterPath & vbCRLF & _
    "TriggerIfAbove = " & ActiveTrigger.TriggerIfAbove & vbCRLF & _
    "Limit = " & ActiveTrigger.Limit & vbCRLF & _
    "LastValue = " & ActiveTrigger.LastValue & vbCRLF & _
    "SecondsOutsideLimit = " & ActiveTrigger.SecondsOutsideLimit

    'Dump all IIS Related Processes
    For Each ActiveProcess In Controller.Processes

      ProcessName = UCase(ActiveProcess.ProcessName)
      Select Case ProcessName
        Case "INETINFO.EXE", "MTX.EXE", "DLLHOST.EXE", "DLLHST3G.EXE", "W3WP.EXE", "ASPNET_WP.EXE"
          DumpName = ActiveProcess.CreateDump("PerfTrigger Fired")
          WriteToLog "Created dump file " & DumpName
      End Select
    Next
End Select
' Do other custom action Items here

' Keep track of the action count
nActionCount = ServiceState("PERFTRIGGER_ACTIONCOUNT_" & ActiveTrigger.PerfTriggerID)
nActionCount = nActionCount + 1
ServiceState("PERFTRIGGER_ACTIONCOUNT_" & ActiveTrigger.PerfTriggerID) = nActionCount

' Remove this trigger if we've exceeded our action limit
nActionLimit = ServiceState("PERFTRIGGER_ACTIONLIMIT_" & ActiveTrigger.PerfTriggerID)
If nActionCount >= nActionLimit Then
  WriteToLog "Action limit of " & nActionLimit & " was reached. (nActionCount = " & nActionCount & ") Removing PerfTrigger."
  Controller.PerfWatcher.RemovePerfTrigger ActiveTrigger.PerfTriggerID
End If
End Sub
Sub Controller_OnPerfTriggerHit(ActiveTrigger)
Dim nActionLimit, nActionCount
Dim DumpName, ActiveProcess

'Write to the DbgSvc Log file
WriteToLog "OnPerfTriggerHit fired for counter: " & ActiveTrigger.CounterPath

Select Case ActiveTrigger.PerfTriggerID
  Case ServiceState("PERFTRIGGER_ASPNETEXECUTIONTIME_ID")

    ' Write to the DbgSvc Log File
    WriteToLog "Taking action on the following PerfTrigger:" & vbCRLF & _
    "--------------------------" & vbCRLF & _
    "PerfTriggerID = " & ActiveTrigger.PerfTriggerID & vbCRLF & _
    "CounterPath = " & ActiveTrigger.CounterPath & vbCRLF & _
    "TriggerIfAbove = " & ActiveTrigger.TriggerIfAbove & vbCRLF & _
    "Limit = " & ActiveTrigger.Limit & vbCRLF & _
    "LastValue = " & ActiveTrigger.LastValue & vbCRLF & _
    "SecondsOutsideLimit = " & ActiveTrigger.SecondsOutsideLimit

    'Dump all IIS Related Processes
    For Each ActiveProcess In Controller.Processes

      ProcessName = UCase(ActiveProcess.ProcessName)
      Select Case ProcessName
        Case "INETINFO.EXE", "MTX.EXE", "DLLHOST.EXE", "DLLHST3G.EXE", "W3WP.EXE", "ASPNET_WP.EXE"
          DumpName = ActiveProcess.CreateDump("PerfTrigger Fired")
          WriteToLog "Created dump file " & DumpName
      End Select
    Next
End Select
' Do other custom action Items here

' Keep track of the action count
nActionCount = ServiceState("PERFTRIGGER_ACTIONCOUNT_" & ActiveTrigger.PerfTriggerID)
nActionCount = nActionCount + 1
ServiceState("PERFTRIGGER_ACTIONCOUNT_" & ActiveTrigger.PerfTriggerID) = nActionCount

' Remove this trigger if we've exceeded our action limit
nActionLimit = ServiceState("PERFTRIGGER_ACTIONLIMIT_" & ActiveTrigger.PerfTriggerID)
If nActionCount >= nActionLimit Then
  WriteToLog "Action limit of " & nActionLimit & " was reached. (nActionCount = " & nActionCount & ") Removing PerfTrigger."
  Controller.PerfWatcher.RemovePerfTrigger ActiveTrigger.PerfTriggerID
End If
End Sub

Symbol Path

The following script sets the symbol path to point to the Microsoft public symbol server, and cache the symbols at a local path of C:\Symbols

Visual Basic Script
View Colorized Copy to Clipboard Print
Const SymbolPath = "SRV*C:\symbols*http://msdl.microsoft.com/download/symbols"
Const SymbolPath = "SRV*C:\symbols*http://msdl.microsoft.com/download/symbols"

Global Variables

The following declares the ServiceState and HTTPPinger global objects that can be accessed from anywhere in the script.

Visual Basic Script
View Colorized Copy to Clipboard Print
Set ServiceState = Controller.ServiceState
Set HTTPPinger = Controller.HTTPPinger
Set ServiceState = Controller.ServiceState
Set HTTPPinger = Controller.HTTPPinger

Events Fired by DebugDiag Service

Controller_OnShutdown - This is called when the DebugDiag service is stopping

Controller_OnProcessExited - This is called when a process shuts down on the machine

Controller_OnNewServiceFound - This is called when a service is started on the machine

Controller_OnServiceStateChanged - This is called when a services' state is changed. For example from Running to Stopped.

Controller_OnNewProcessFound - This is called when a new process is started on the machine

Controller_OnHTTPPingError - This is called when the HTTP Ping encounters an HTTP Error response instead of a 200 response

Controller_OnHTTPPingTimeout - This is called when the configured HTTP Ping timeout occurs while pinging a URL

Helper Routines

WriteToLog - This routine can be called to write information to the DbgSvc log file.

FormatString - This function formats a string

HandleProcess - This function is called when a new process is started and determines if it is being debugged, and writes info to the DbgSvc log file

HandleService - This function is called when a new service is started and calls HandleProcess

StartLeakRule - This function can be called to start monitoring a process for memory leaks.

StopLeakRule - This function can be called to stop monitoring a process for memory leaks.

DumpAllIISProcesses - This function will create memory dumps in the specified folder for all IIS Related process which include Inetinfo.exe, MTX.exe, Dllhost.exe, Dllhst3G.exe, w3w.exe, and aspnet_wp.exe

DumpProcess - This function will create a memory dump in the specified folder for the process name provided to the function.

DumpCOMPLusApp - This function will create a memory dump in the specified folder for the COM+ Application name provided to the function

DumpWebAppPool - This function will create a memory dump in the specified folder for the Application pool name provided to the function

DumpProcessID - This function will create a memory dump in the specified folder for the process ID provided to the function

DumpNTService - This function will create a memory dump in the specified folder for the NT Service name provided to the function

GetControlScriptForService - This function returns the DbgHost control script for the specified service.

GetControlScriptForProcess - This function returns the DbgHost control script for the specified process

CreatePingURLs - This function is populated by DbgSvc when a hang rule is created to test a specific URL at certain intervals. It is called during Controller_OnStart()

HandleIISHangRule - This function is populated by DbgSvc when a hang rule is created, and is called from the Controller_OnHTTPPingTimeout event


ASP.Net Execution Time Performance Trigger Sample

ASP.Net Execution Time Performance Trigger Sample Debug Diagnostics Tool 2.1 DebugDiag

This sample explains how to modify the DebugDiag service script so that an action can be taken when a Performance Monitor counter exceeds a specified value for a specified duration of time. In this specific example a dump file is generated for all w3wp.exe processes when the 'Request Execution Time' counter for the 'ASP.NET' performance monitor object exceeds a value of 80 seconds for a duration of at least 1 second.

This topic contains the following sections.

  • Setup
  • Script Details and Customization
Setup
  1. Rename "C:\Program Files\DebugDiag\Scripts\DbgSVC.vbs" to "DbgSVC.original" to backup the original control script for the DebugDiag Service.

  2. Copy "C:\Program Files\DebugDiag\Samples\ControlScripts\PerfTriggers\ASPNETExecutionTime\DbgSVC.vbs" to"C:\Program Files\DebugDiag\Scripts\DbgSVC.vbs".

    Note Note
    If a rule is activated, deactivated, created or removed a new DbgSvc.vbs file will be created and overwrite this file.
  3. Customize the script to trigger on the counter, and take action on the IIS Processes.
Script Details and Customization

This sample script contains two main sub routines; Controller_OnStart(), and Controller_OnPerfTriggerHit(), which set up the performance trigger and take action on the performance trigger respectively. The rest of the sub routines, functions, and variables used in the script are helper functions that can be used in the script, or routines that are called by the DebugDiag service. This section will focus on the two sub routines used to configure the performance monitor trigger, and briefly discuss the other sub routines, functions, and variables in the script. There are also a lot of built in objects available to the script by default, and more documentation on those can be found in the DebugDiag Service Object Model **ADD LINK **.

Controller_OnStart()

This routine contains the code for setting up the performance trigger. Specifically this code below:

Visual Basic Script
View Colorized Copy to Clipboard Print
' We want notification when our counter exeeds 80,000 miliseconds for any longer than 1 second
Set NewTrigger = Controller.PerfWatcher.CreatePerfTrigger("\ASP.NET\Request Execution Time", True, 80000, 1)

' Store the PerfTrigger ID
ServiceState("PERFTRIGGER_ASPNETEXECUTIONTIME_ID") = NewTrigger.PerfTriggerID

' Set the Action Limit on the perf trigger to 1. Increase this if need to take action each time this trigger is hit.
ServiceState("PERFTRIGGER_ACTIONLIMIT_" & NewTrigger.PerfTriggerID) = 1

' Reset the action counter
ServiceState("PERFTRIGGER_ACTIONCOUNT_" & NewTrigger.PerfTriggerID) = 0

' Write out new PerfTrigger info to the log.
WriteToLog "NewTrigger Has Been Created:" & vbCRLF & _
"--------------------------" & vbCRLF & _
"PerfTriggerID = " & NewTrigger.PerfTriggerID & vbCRLF & _
"CounterPath = " & NewTrigger.CounterPath & vbCRLF & _
"TriggerIfAbove = " & NewTrigger.TriggerIfAbove & vbCRLF & _
"Limit = " & NewTrigger.Limit & vbCRLF & _
"LastValue = " & NewTrigger.LastValue & vbCRLF & _
"SecondsOutsideLimit = " & NewTrigger.SecondsOutsideLimit
' We want notification when our counter exeeds 80,000 miliseconds for any longer than 1 second
Set NewTrigger = Controller.PerfWatcher.CreatePerfTrigger("\ASP.NET\Request Execution Time", True, 80000, 1)

' Store the PerfTrigger ID
ServiceState("PERFTRIGGER_ASPNETEXECUTIONTIME_ID") = NewTrigger.PerfTriggerID

' Set the Action Limit on the perf trigger to 1. Increase this if need to take action each time this trigger is hit.
ServiceState("PERFTRIGGER_ACTIONLIMIT_" & NewTrigger.PerfTriggerID) = 1

' Reset the action counter
ServiceState("PERFTRIGGER_ACTIONCOUNT_" & NewTrigger.PerfTriggerID) = 0

' Write out new PerfTrigger info to the log.
WriteToLog "NewTrigger Has Been Created:" & vbCRLF & _
"--------------------------" & vbCRLF & _
"PerfTriggerID = " & NewTrigger.PerfTriggerID & vbCRLF & _
"CounterPath = " & NewTrigger.CounterPath & vbCRLF & _
"TriggerIfAbove = " & NewTrigger.TriggerIfAbove & vbCRLF & _
"Limit = " & NewTrigger.Limit & vbCRLF & _
"LastValue = " & NewTrigger.LastValue & vbCRLF & _
"SecondsOutsideLimit = " & NewTrigger.SecondsOutsideLimit

Controller_OnPerfTriggerHit(ActiveTrigger)

This routine is called by the DebugDiag Service when a configured performance trigger occurs. The trigger that caused the event is passed into the routine. Below is the code for this sample, and comments on each section and what they do.

Visual Basic Script
View Colorized Copy to Clipboard Print
Sub Controller_OnPerfTriggerHit(ActiveTrigger)
Dim nActionLimit, nActionCount
Dim DumpName, ActiveProcess
' Write information to the log file on which performance counter triggered
WriteToLog "OnPerfTriggerHit fired for counter: " & ActiveTrigger.CounterPath

' Switch to the performance trigger that caused this event.
Select Case ActiveTrigger.PerfTriggerID
  Case ServiceState("PERFTRIGGER_ASPNETEXECUTIONTIME_ID")

    ' This trigger occurred, write the information to the log file.
    WriteToLog "Taking action on the following PerfTrigger:" & vbCRLF & _
    "--------------------------" & vbCRLF & _
    "PerfTriggerID = " & ActiveTrigger.PerfTriggerID & vbCRLF & _
    "CounterPath = " & ActiveTrigger.CounterPath & vbCRLF & _
    "TriggerIfAbove = " & ActiveTrigger.TriggerIfAbove & vbCRLF & _
    "Limit = " & ActiveTrigger.Limit & vbCRLF & _
    "LastValue = " & ActiveTrigger.LastValue & vbCRLF & _
    "SecondsOutsideLimit = " & ActiveTrigger.SecondsOutsideLimit

    ' Dump out each W3WP.exe process that is running
    For Each ActiveProcess In Controller.Processes
      If UCase(ActiveProcess.ProcessName) = "W3WP.EXE" Then
        DumpName =     ActiveProcess.CreateDump("PerfTrigger Fired")
        WriteToLog "Created dump file " & DumpName
        Exit For
      End If
    Next

    ' Add other Case statements here if multiple triggers were set up.
End Select

'Take any other custom actions here
' Keep track of the action count
nActionCount = ServiceState("PERFTRIGGER_ACTIONCOUNT_" & ActiveTrigger.PerfTriggerID)
nActionCount = nActionCount + 1
ServiceState("PERFTRIGGER_ACTIONCOUNT_" & ActiveTrigger.PerfTriggerID) = nActionCount

' Remove this trigger if we've exceeded our action limit
nActionLimit = ServiceState("PERFTRIGGER_ACTIONLIMIT_" & ActiveTrigger.PerfTriggerID)
If nActionCount >= nActionLimit Then
  WriteToLog "Action limit of " & nActionLimit & " was reached. (nActionCount = " & nActionCount & ") Removing PerfTrigger."
  Controller.PerfWatcher.RemovePerfTrigger
  ActiveTrigger.PerfTriggerID
End If
End Sub
Sub Controller_OnPerfTriggerHit(ActiveTrigger)
Dim nActionLimit, nActionCount
Dim DumpName, ActiveProcess
' Write information to the log file on which performance counter triggered
WriteToLog "OnPerfTriggerHit fired for counter: " & ActiveTrigger.CounterPath

' Switch to the performance trigger that caused this event.
Select Case ActiveTrigger.PerfTriggerID
  Case ServiceState("PERFTRIGGER_ASPNETEXECUTIONTIME_ID")

    ' This trigger occurred, write the information to the log file.
    WriteToLog "Taking action on the following PerfTrigger:" & vbCRLF & _
    "--------------------------" & vbCRLF & _
    "PerfTriggerID = " & ActiveTrigger.PerfTriggerID & vbCRLF & _
    "CounterPath = " & ActiveTrigger.CounterPath & vbCRLF & _
    "TriggerIfAbove = " & ActiveTrigger.TriggerIfAbove & vbCRLF & _
    "Limit = " & ActiveTrigger.Limit & vbCRLF & _
    "LastValue = " & ActiveTrigger.LastValue & vbCRLF & _
    "SecondsOutsideLimit = " & ActiveTrigger.SecondsOutsideLimit

    ' Dump out each W3WP.exe process that is running
    For Each ActiveProcess In Controller.Processes
      If UCase(ActiveProcess.ProcessName) = "W3WP.EXE" Then
        DumpName =     ActiveProcess.CreateDump("PerfTrigger Fired")
        WriteToLog "Created dump file " & DumpName
        Exit For
      End If
    Next

    ' Add other Case statements here if multiple triggers were set up.
End Select

'Take any other custom actions here
' Keep track of the action count
nActionCount = ServiceState("PERFTRIGGER_ACTIONCOUNT_" & ActiveTrigger.PerfTriggerID)
nActionCount = nActionCount + 1
ServiceState("PERFTRIGGER_ACTIONCOUNT_" & ActiveTrigger.PerfTriggerID) = nActionCount

' Remove this trigger if we've exceeded our action limit
nActionLimit = ServiceState("PERFTRIGGER_ACTIONLIMIT_" & ActiveTrigger.PerfTriggerID)
If nActionCount >= nActionLimit Then
  WriteToLog "Action limit of " & nActionLimit & " was reached. (nActionCount = " & nActionCount & ") Removing PerfTrigger."
  Controller.PerfWatcher.RemovePerfTrigger
  ActiveTrigger.PerfTriggerID
End If
End Sub

Symbol Path

The following script sets the symbol path to point to the Microsoft public symbol server, and cache the symbols at a local path of C:\Symbols

Visual Basic Script
View Colorized Copy to Clipboard Print
Const SymbolPath = "SRV*C:\symbols*http://msdl.microsoft.com/download/symbols"
Const SymbolPath = "SRV*C:\symbols*http://msdl.microsoft.com/download/symbols"

Global Variables

The following declares the ServiceState and HTTPPinger global objects that can be accessed from anywhere in the script.

Visual Basic Script
View Colorized Copy to Clipboard Print
Set ServiceState = Controller.ServiceState
Set HTTPPinger = Controller.HTTPPinger
Set ServiceState = Controller.ServiceState
Set HTTPPinger = Controller.HTTPPinger

Events Fired by DebugDiag Service

Controller_OnShutdown - This is called when the DebugDiag service is stopping

Controller_OnProcessExited - This is called when a process shuts down on the machine

Controller_OnNewServiceFound - This is called when a service is started on the machine

Controller_OnServiceStateChanged - This is called when a services' state is changed. For example from Running to Stopped.

Controller_OnNewProcessFound - This is called when a new process is started on the machine

Controller_OnHTTPPingError - This is called when the HTTP Ping encounters an HTTP Error response instead of a 200 response

Controller_OnHTTPPingTimeout - This is called when the configured HTTP Ping timeout occurs while pinging a URL

Helper Routines

WriteToLog - This routine can be called to write information to the DbgSvc log file.

FormatString - This function formats a string

HandleProcess - This function is called when a new process is started and determines if it is being debugged, and writes info to the DbgSvc log file

HandleService - This function is called when a new service is started and calls HandleProcess

StartLeakRule - This function can be called to start monitoring a process for memory leaks.

StopLeakRule - This function can be called to stop monitoring a process for memory leaks.

DumpAllIISProcesses - This function will create memory dumps in the specified folder for all IIS Related process which include Inetinfo.exe, MTX.exe, Dllhost.exe, Dllhst3G.exe, w3w.exe, and aspnet_wp.exe

DumpProcess - This function will create a memory dump in the specified folder for the process name provided to the function.

DumpCOMPLusApp - This function will create a memory dump in the specified folder for the COM+ Application name provided to the function

DumpWebAppPool - This function will create a memory dump in the specified folder for the Application pool name provided to the function

DumpProcessID - This function will create a memory dump in the specified folder for the process ID provided to the function

DumpNTService - This function will create a memory dump in the specified folder for the NT Service name provided to the function

GetControlScriptForService - This function returns the DbgHost control script for the specified service.

GetControlScriptForProcess - This function returns the DbgHost control script for the specified process

CreatePingURLs - This function is populated by DbgSvc when a hang rule is created to test a specific URL at certain intervals. It is called during Controller_OnStart()

HandleIISHangRule - This function is populated by DbgSvc when a hang rule is created, and is called from the Controller_OnHTTPPingTimeout event


Process Memory Limit Sample

Process Memory Limit Sample Debug Diagnostics Tool 2.1 DebugDiag

This sample explains how to modify the DebugDiag service script so that an action can be taken when the memory consumption for a process exceeds a specified value, as well as inject leak tracker to monitor for memory leaks when the process is started. In this specific example a dump file is generated for any w3wp.exe process that exceeds 1.8 GB in size, and leak track is injected when any w3wp.exe is started.

This topic contains the following sections.

  • Setup
  • Script Details and Customization
Setup
  1. Rename "C:\Program Files\DebugDiag\Scripts\DbgSVC.vbs" to "DbgSVC.original" to backup the original control script for the DebugDiag Service.

  2. Copy "C:\Program Files\DebugDiag\Samples\ControlScripts\ProcessMemoryLimit\DbgSVC.vbs" to"C:\Program Files\DebugDiag\Scripts\DbgSVC.vbs".

    Note Note
    If a rule is activated, deactivated, created or removed a new DbgSvc.vbs file will be created and overwrite this file.
  3. Customize the script to trigger on the counter, and take action on the IIS Processes.
Script Details and Customization

This sample script uses a custom class named TriggerItems to manage configuring and taking action on the memory threshold. An instance of this class is declared globally in the script and triggers are added and removed in the Controller_OnNewProcessFound(), and Controller_OnProcessExited() events respectively. When Controller_OnPerfTriggerHit is called, it notifies the class that a performance trigger has been hit. There are also a lot of built in objects available to the script by default, and more documentation on those can be found in the DebugDiag Service Object Model **ADD LINK **.

Declare Instance of class

Visual Basic Script
View Colorized Copy to Clipboard Print
Set triggers = New TriggerItems
Set triggers = New TriggerItems

Controller_OnNewProcessFound

This function has the following code to add a new memory trigger for the W3WP.exe process when it reaches 1.8 GB. Other examples are given, but commented out for different memory thresholds. All instances pass TRUE for injecting leak tracker. Set that to False if memory tracking is not needed.

Visual Basic Script
View Colorized Copy to Clipboard Print
Select Case UCase(NewProcess.ProcessName)
  Case "W3WP.EXE":
    'triggers.Add <ProcessObject>, <InjectLeakTrack>, <Perfmon Counter Path>, <Trigger Threshold>
    'triggers.Add NewProcess, True, "\Process({0})\Virtual Bytes", 1024*1024*800 ' (800 MB)
    'triggers.Add NewProcess, True, "\Process({0})\Virtual Bytes", 1024*1024*1024*1.3 ' (1.3 GB)

    triggers.Add NewProcess, True, "\Process({0})\Virtual Bytes", 1024*1024*1024*1.8 ' (1.8 GB)

    'triggers.Add NewProcess, True, "\Process({0})\Working Set", 1024*1024*400 ' (400 MB)
    'triggers.Add NewProcess, True, "\Process({0})\Working Set", 1024*1024*600 ' (600 MB)
    'triggers.Add NewProcess, True, "\Process({0})\Working Set", 1024*1024*800 ' (800 MB)
End Select
Select Case UCase(NewProcess.ProcessName)
  Case "W3WP.EXE":
    'triggers.Add <ProcessObject>, <InjectLeakTrack>, <Perfmon Counter Path>, <Trigger Threshold>
    'triggers.Add NewProcess, True, "\Process({0})\Virtual Bytes", 1024*1024*800 ' (800 MB)
    'triggers.Add NewProcess, True, "\Process({0})\Virtual Bytes", 1024*1024*1024*1.3 ' (1.3 GB)

    triggers.Add NewProcess, True, "\Process({0})\Virtual Bytes", 1024*1024*1024*1.8 ' (1.8 GB)

    'triggers.Add NewProcess, True, "\Process({0})\Working Set", 1024*1024*400 ' (400 MB)
    'triggers.Add NewProcess, True, "\Process({0})\Working Set", 1024*1024*600 ' (600 MB)
    'triggers.Add NewProcess, True, "\Process({0})\Working Set", 1024*1024*800 ' (800 MB)
End Select

Controller_OnProcessExited

This routine calls remove on the global triggers object to remove the process that exited from the triggers.

Visual Basic Script
View Colorized Copy to Clipboard Print
triggers.Remove ExistingProcess
triggers.Remove ExistingProcess

Controller_OnPerfTriggerHit

This function calls the Triggerd function of the TriggerItem class to notify it that a performance trigger has occurred.

Visual Basic Script
View Colorized Copy to Clipboard Print
triggers.Triggered ActiveTrigger
triggers.Triggered ActiveTrigger

TriggerItem Class

Class used by TriggerItems to maintain triggers for a single process.

Visual Basic Script
View Colorized Copy to Clipboard Print
' Declaration of TriggerItem class which maintains triggers for a single process
Class TriggerItem
'Private class member variables
Private m_processName
Public CounterPath
Public CounterLimits
Public ProcessID
Public ProcessIndex
Public TriggerID

  ' Initializes the class
  Private Sub Class_Initialize
    m_processName = ""
    CounterPath = ""
    CounterLimits = Array()
    ProcessID = 0
    ProcessIndex = 0
    TriggerID = 0
  End Sub

  ' Adds a counter limit
  Public Sub AddLimit(ByVal limit)
    ReDim Preserve CounterLimits(UBound(CounterLimits) + 1)
    CounterLimits(UBound(CounterLimits)) = limit
  End Sub

  ' Removes Counter Limit
  Public Sub RemoveFirstLimit()
    If UBound(CounterLimits) = 0 Then
      CounterLimits = Array()
    Else
      newLimits = Array(UBound(CounterLimits) - 1)
      For i = 0 To UBound(newLimits)
        newLimits(i) = CounterLimits(i + 1)
      Next
      CounterLimits = newLimits
    End If
  End Sub

  Public Property Get LimitCount
    LimitCount = UBound(CounterLimits) + 1
  End Property

  Public Property Get ProcessName
    ProcessName = m_processName
  End Property

  Public Property Let ProcessName(ByVal value)
    m_processName = LCase(value)
  End Property

End Class
' Declaration of TriggerItem class which maintains triggers for a single process
Class TriggerItem
'Private class member variables
Private m_processName
Public CounterPath
Public CounterLimits
Public ProcessID
Public ProcessIndex
Public TriggerID

  ' Initializes the class
  Private Sub Class_Initialize
    m_processName = ""
    CounterPath = ""
    CounterLimits = Array()
    ProcessID = 0
    ProcessIndex = 0
    TriggerID = 0
  End Sub

  ' Adds a counter limit
  Public Sub AddLimit(ByVal limit)
    ReDim Preserve CounterLimits(UBound(CounterLimits) + 1)
    CounterLimits(UBound(CounterLimits)) = limit
  End Sub

  ' Removes Counter Limit
  Public Sub RemoveFirstLimit()
    If UBound(CounterLimits) = 0 Then
      CounterLimits = Array()
    Else
      newLimits = Array(UBound(CounterLimits) - 1)
      For i = 0 To UBound(newLimits)
        newLimits(i) = CounterLimits(i + 1)
      Next
      CounterLimits = newLimits
    End If
  End Sub

  Public Property Get LimitCount
    LimitCount = UBound(CounterLimits) + 1
  End Property

  Public Property Get ProcessName
    ProcessName = m_processName
  End Property

  Public Property Let ProcessName(ByVal value)
    m_processName = LCase(value)
  End Property

End Class

TriggerItems Class

This class contains the routines for adding the specific triggers, removing the triggers, and taking action when the trigger occurs.

Visual Basic Script
View Colorized Copy to Clipboard Print
Class TriggerItems
Private m_processes

'Initialize the class
Private Sub Class_Initialize
  Set m_processes = CreateObject("Scripting.Dictionary")
    'Create a fictitious trigger to avoid hanging DbgSvc.exe when triggers are empty.
    Controller.PerfWatcher.CreatePerfTrigger "\Process(foo)\Working Set", False, 1024*1024*1024*5, 1
End Sub

'Returns the scripting dictionary
Private Function GetDictionary(ByVal processName)
  Set GetDictionary = Nothing
  processName = LCase(processName)
    If m_processes.Exists(processName) Then
    Set GetDictionary = m_processes.Item(processName)
    End If
End Function

' Called when a trigger occurs and logs information to the DbgSvc Log file
Private Sub LogTriggerInfo(ByVal message, ByRef trigger)
  WriteToLog message & vbCRLF & _
  " PerfTriggerID = " & trigger.PerfTriggerID & vbCrLf & _
  " CounterPath = " & trigger.CounterPath & vbCrLf & _
    " TriggerIfAbove = " & trigger.TriggerIfAbove & vbCrLf & _
    " Limit = " & trigger.Limit & vbCrLf & _
    " LastValue = " & trigger.LastValue & vbCrLf & _
    " SecondsOutsideLimit = " &    trigger.SecondsOutsideLimit
End Sub
' Adds a trigger item to monitor
Public Sub Add(ByRef process, ByVal injectLeakTrack, ByVal counterPath, ByVal limit)
  Set items = GetDictionary(process.ProcessName)
    If items Is Nothing Then
      Set items = CreateObject("Scripting.Dictionary")
        m_processes.Add LCase(process.ProcessName), items
    End If
    If Not items.Exists(process.ProcessID) Then
        If injectLeakTrack Then
          process.InjectLeakTrack
          WriteToLog "Injected LeakTrack.dll into PID:" & process.ProcessID
        End If
        perfmonName = LCase(Left(process.ProcessName, Len(process.ProcessName) - 4))
        If InStr(counterPath, "{0}") > 0 Then
            If items.Count > 0 Then
            perfmonName = perfmonName & "#" & CStr(items.Count)
          End If
          counterPath = Replace(counterPath, "{0}", perfmonName)
        End If
        Set trigger = Controller.PerfWatcher.CreatePerfTrigger(counterPath, True, limit, 1)
        LogTriggerInfo "New trigger has been created:", trigger
        Set itm = New TriggerItem
        itm.CounterPath = trigger.CounterPath
        itm.TriggerID = trigger.PerfTriggerID
        itm.ProcessName = process.ProcessName
        itm.ProcessID = process.ProcessID
        itm.ProcessIndex = items.Count
        itm.AddLimit(limit)
        items.Add process.ProcessID, itm
    Else
        Set itm = items.Item(process.ProcessID)
        itm.AddLimit(limit)
    End If
End Sub

' Removes a trigger for the specified process
Public Sub Remove(ByRef process)
    'When a process exits, the perf triggers don't change at all.
    ' ... so we need to do a shift, delete or re-add of various
    ' triggers to keep the PID's and triggers matched up.
    Set items = GetDictionary(process.ProcessName)
    If Not items Is Nothing Then
        If items.Exists (process.ProcessID) Then
            Set removing = items.Item(process.ProcessID)
            items.Remove process.ProcessID
            lastCounterPath = removing.CounterPath
            lastTriggerID = removing.TriggerID
            savedCounterPath = lastCounterPath
            savedTriggerID = lastTriggerID
            keys = items.Keys
            For i = removing.ProcessIndex To UBound(keys)
                Set itm = items.Item(keys(i))
                savedCounterPath = itm.CounterPath
                savedTriggerID = itm.TriggerID
                If (itm.TriggerID <> -1) Then
                    If (lastTriggerID <> -1) Then
                        'Shift path
                        itm.CounterPath = lastCounterPath
                        'Shift Trigger
                        itm.TriggerID = lastTriggerID
                    Else'(lastTriggerID = -1)
                        'Shift path
                        itm.CounterPath = lastCounterPath
                        'Create a new trigger
                        WriteToLog "Re-adding """ & itm.CounterPath & """ because it matches PID:" & itm.ProcessID & " which has not hit its trigger limit"
                        Set trigger = Controller.PerfWatcher.CreatePerfTrigger(itm.CounterPath, True, itm.CounterLimits(0), 1)
                        itm.TriggerID = trigger.PerfTriggerID
                    End If
                End If

                If (itm.TriggerID = -1) Then
                    If (lastTriggerID <> -1) Then
                        'Shift path
                        itm.CounterPath = lastCounterPath
                        'Delete trigger
                        WriteToLog "Removing """ & itm.CounterPath & """ because it matches PID:" & itm.ProcessID & " which already hit its trigger limit"

                        Controller.PerfWatcher.RemovePerfTrigger lastTriggerID
                    Else'(lastTrigger = -1)
                        'Shift path
                        itm.CounterPath = lastCounterPath
                        'Don't do anything    with triggers
                    End If
                End If

                itm.ProcessIndex = i
                lastCounterPath = savedCounterPath
                lastTriggerID = savedTriggerID
            Next

            'Okay... we've gone through the whole list for this particular processName
            'The last one in the list will always have the highest CounterPath
            'Remove it otherwise the shifting we just did will leave this without a matching PID.
            If lastTriggerID = -1 Then
                WriteToLog "Cannot remove trigger for """ & lastCounterPath & """ because it was previously removed."
            Else
                WriteToLog "Removing highest trigger """ & lastCounterPath & """ to account for exiting process"

                Controller.PerfWatcher.RemovePerfTrigger
                lastTriggerID
            End If
        End If
    End If
End Sub

'Called from Controller_OnPerfTriggerHit. Takes custom action based on the trigger that occurred
Public Sub Triggered(ByRef trigger)
    'There is no information in the DebugDiag trigger that tells us what PID just exceeded the trigger.
    'Iterate through all the TriggerItems to find the matching TriggerID so we can create a DMP based on the right PID.
    For Each process in m_processes.Items
        For Each itm in process.Items
            If CInt(itm.TriggerID) = CInt(trigger.PerfTriggerID) Then
                LogTriggerInfo "OnPerfTriggerHit fired for PID:" & itm.ProcessID, trigger
                Controller.PerfWatcher.RemovePerfTrigger itm.TriggerID
                itm.RemoveFirstLimit()
                If itm.LimitCount = 0 Then
                  WriteToLog "No additional limits for PID:" & itm.ProcessID & ". Removing its trigger(s)."
                  itm.TriggerID = -1
                End If

                Set ActiveProcess = Controller.Processes.GetProcessByProcessID(itm.ProcessID)
                DumpName = ActiveProcess.CreateDump("PerfTrigger_Fired")
                WriteToLog "Created dump file " & DumpName
                If itm.LimitCount > 0 Then
                    Set trigger = Controller.PerfWatcher.CreatePerfTrigger(itm.CounterPath, True, itm.CounterLimits(0), 1)
                    itm.TriggerID = trigger.PerfTriggerID
                    LogTriggerInfo "PID:" & itm.ProcessID & " has additional limits configured. Creating trigger for next limit:", trigger
                End If
                Exit Sub
            End If
        Next
    Next
End Sub
End Class
Class TriggerItems
Private m_processes

'Initialize the class
Private Sub Class_Initialize
  Set m_processes = CreateObject("Scripting.Dictionary")
    'Create a fictitious trigger to avoid hanging DbgSvc.exe when triggers are empty.
    Controller.PerfWatcher.CreatePerfTrigger "\Process(foo)\Working Set", False, 1024*1024*1024*5, 1
End Sub

'Returns the scripting dictionary
Private Function GetDictionary(ByVal processName)
  Set GetDictionary = Nothing
  processName = LCase(processName)
    If m_processes.Exists(processName) Then
    Set GetDictionary = m_processes.Item(processName)
    End If
End Function

' Called when a trigger occurs and logs information to the DbgSvc Log file
Private Sub LogTriggerInfo(ByVal message, ByRef trigger)
  WriteToLog message & vbCRLF & _
  " PerfTriggerID = " & trigger.PerfTriggerID & vbCrLf & _
  " CounterPath = " & trigger.CounterPath & vbCrLf & _
    " TriggerIfAbove = " & trigger.TriggerIfAbove & vbCrLf & _
    " Limit = " & trigger.Limit & vbCrLf & _
    " LastValue = " & trigger.LastValue & vbCrLf & _
    " SecondsOutsideLimit = " &    trigger.SecondsOutsideLimit
End Sub
' Adds a trigger item to monitor
Public Sub Add(ByRef process, ByVal injectLeakTrack, ByVal counterPath, ByVal limit)
  Set items = GetDictionary(process.ProcessName)
    If items Is Nothing Then
      Set items = CreateObject("Scripting.Dictionary")
        m_processes.Add LCase(process.ProcessName), items
    End If
    If Not items.Exists(process.ProcessID) Then
        If injectLeakTrack Then
          process.InjectLeakTrack
          WriteToLog "Injected LeakTrack.dll into PID:" & process.ProcessID
        End If
        perfmonName = LCase(Left(process.ProcessName, Len(process.ProcessName) - 4))
        If InStr(counterPath, "{0}") > 0 Then
            If items.Count > 0 Then
            perfmonName = perfmonName & "#" & CStr(items.Count)
          End If
          counterPath = Replace(counterPath, "{0}", perfmonName)
        End If
        Set trigger = Controller.PerfWatcher.CreatePerfTrigger(counterPath, True, limit, 1)
        LogTriggerInfo "New trigger has been created:", trigger
        Set itm = New TriggerItem
        itm.CounterPath = trigger.CounterPath
        itm.TriggerID = trigger.PerfTriggerID
        itm.ProcessName = process.ProcessName
        itm.ProcessID = process.ProcessID
        itm.ProcessIndex = items.Count
        itm.AddLimit(limit)
        items.Add process.ProcessID, itm
    Else
        Set itm = items.Item(process.ProcessID)
        itm.AddLimit(limit)
    End If
End Sub

' Removes a trigger for the specified process
Public Sub Remove(ByRef process)
    'When a process exits, the perf triggers don't change at all.
    ' ... so we need to do a shift, delete or re-add of various
    ' triggers to keep the PID's and triggers matched up.
    Set items = GetDictionary(process.ProcessName)
    If Not items Is Nothing Then
        If items.Exists (process.ProcessID) Then
            Set removing = items.Item(process.ProcessID)
            items.Remove process.ProcessID
            lastCounterPath = removing.CounterPath
            lastTriggerID = removing.TriggerID
            savedCounterPath = lastCounterPath
            savedTriggerID = lastTriggerID
            keys = items.Keys
            For i = removing.ProcessIndex To UBound(keys)
                Set itm = items.Item(keys(i))
                savedCounterPath = itm.CounterPath
                savedTriggerID = itm.TriggerID
                If (itm.TriggerID <> -1) Then
                    If (lastTriggerID <> -1) Then
                        'Shift path
                        itm.CounterPath = lastCounterPath
                        'Shift Trigger
                        itm.TriggerID = lastTriggerID
                    Else'(lastTriggerID = -1)
                        'Shift path
                        itm.CounterPath = lastCounterPath
                        'Create a new trigger
                        WriteToLog "Re-adding """ & itm.CounterPath & """ because it matches PID:" & itm.ProcessID & " which has not hit its trigger limit"
                        Set trigger = Controller.PerfWatcher.CreatePerfTrigger(itm.CounterPath, True, itm.CounterLimits(0), 1)
                        itm.TriggerID = trigger.PerfTriggerID
                    End If
                End If

                If (itm.TriggerID = -1) Then
                    If (lastTriggerID <> -1) Then
                        'Shift path
                        itm.CounterPath = lastCounterPath
                        'Delete trigger
                        WriteToLog "Removing """ & itm.CounterPath & """ because it matches PID:" & itm.ProcessID & " which already hit its trigger limit"

                        Controller.PerfWatcher.RemovePerfTrigger lastTriggerID
                    Else'(lastTrigger = -1)
                        'Shift path
                        itm.CounterPath = lastCounterPath
                        'Don't do anything    with triggers
                    End If
                End If

                itm.ProcessIndex = i
                lastCounterPath = savedCounterPath
                lastTriggerID = savedTriggerID
            Next

            'Okay... we've gone through the whole list for this particular processName
            'The last one in the list will always have the highest CounterPath
            'Remove it otherwise the shifting we just did will leave this without a matching PID.
            If lastTriggerID = -1 Then
                WriteToLog "Cannot remove trigger for """ & lastCounterPath & """ because it was previously removed."
            Else
                WriteToLog "Removing highest trigger """ & lastCounterPath & """ to account for exiting process"

                Controller.PerfWatcher.RemovePerfTrigger
                lastTriggerID
            End If
        End If
    End If
End Sub

'Called from Controller_OnPerfTriggerHit. Takes custom action based on the trigger that occurred
Public Sub Triggered(ByRef trigger)
    'There is no information in the DebugDiag trigger that tells us what PID just exceeded the trigger.
    'Iterate through all the TriggerItems to find the matching TriggerID so we can create a DMP based on the right PID.
    For Each process in m_processes.Items
        For Each itm in process.Items
            If CInt(itm.TriggerID) = CInt(trigger.PerfTriggerID) Then
                LogTriggerInfo "OnPerfTriggerHit fired for PID:" & itm.ProcessID, trigger
                Controller.PerfWatcher.RemovePerfTrigger itm.TriggerID
                itm.RemoveFirstLimit()
                If itm.LimitCount = 0 Then
                  WriteToLog "No additional limits for PID:" & itm.ProcessID & ". Removing its trigger(s)."
                  itm.TriggerID = -1
                End If

                Set ActiveProcess = Controller.Processes.GetProcessByProcessID(itm.ProcessID)
                DumpName = ActiveProcess.CreateDump("PerfTrigger_Fired")
                WriteToLog "Created dump file " & DumpName
                If itm.LimitCount > 0 Then
                    Set trigger = Controller.PerfWatcher.CreatePerfTrigger(itm.CounterPath, True, itm.CounterLimits(0), 1)
                    itm.TriggerID = trigger.PerfTriggerID
                    LogTriggerInfo "PID:" & itm.ProcessID & " has additional limits configured. Creating trigger for next limit:", trigger
                End If
                Exit Sub
            End If
        Next
    Next
End Sub
End Class

Symbol Path

The following script sets the symbol path to point to the Microsoft public symbol server, and cache the symbols at a local path of C:\Symbols

Visual Basic Script
View Colorized Copy to Clipboard Print
Const SymbolPath = "SRV*C:\symbols*http://msdl.microsoft.com/download/symbols"
Const SymbolPath = "SRV*C:\symbols*http://msdl.microsoft.com/download/symbols"

Global Variables

The following declares the ServiceState and HTTPPinger global objects that can be accessed from anywhere in the script.

Visual Basic Script
View Colorized Copy to Clipboard Print
Set ServiceState = Controller.ServiceState
Set HTTPPinger = Controller.HTTPPinger
Set ServiceState = Controller.ServiceState
Set HTTPPinger = Controller.HTTPPinger

Events Fired by DebugDiag Service

Controller_OnShutdown - This is called when the DebugDiag service is stopping

Controller_OnProcessExited - This is called when a process shuts down on the machine

Controller_OnNewServiceFound - This is called when a service is started on the machine

Controller_OnServiceStateChanged - This is called when a services' state is changed. For example from Running to Stopped.

Controller_OnNewProcessFound - This is called when a new process is started on the machine

Controller_OnHTTPPingError - This is called when the HTTP Ping encounters an HTTP Error response instead of a 200 response

Controller_OnHTTPPingTimeout - This is called when the configured HTTP Ping timeout occurs while pinging a URL

Helper Routines

WriteToLog - This routine can be called to write information to the DbgSvc log file.

FormatString - This function formats a string

HandleProcess - This function is called when a new process is started and determines if it is being debugged, and writes info to the DbgSvc log file

HandleService - This function is called when a new service is started and calls HandleProcess

StartLeakRule - This function can be called to start monitoring a process for memory leaks.

StopLeakRule - This function can be called to stop monitoring a process for memory leaks.

DumpAllIISProcesses - This function will create memory dumps in the specified folder for all IIS Related process which include Inetinfo.exe, MTX.exe, Dllhost.exe, Dllhst3G.exe, w3w.exe, and aspnet_wp.exe

DumpProcess - This function will create a memory dump in the specified folder for the process name provided to the function.

DumpCOMPLusApp - This function will create a memory dump in the specified folder for the COM+ Application name provided to the function

DumpWebAppPool - This function will create a memory dump in the specified folder for the Application pool name provided to the function

DumpProcessID - This function will create a memory dump in the specified folder for the process ID provided to the function

DumpNTService - This function will create a memory dump in the specified folder for the NT Service name provided to the function

GetControlScriptForService - This function returns the DbgHost control script for the specified service.

GetControlScriptForProcess - This function returns the DbgHost control script for the specified process

CreatePingURLs - This function is populated by DbgSvc when a hang rule is created to test a specific URL at certain intervals. It is called during Controller_OnStart()

HandleIISHangRule - This function is populated by DbgSvc when a hang rule is created, and is called from the Controller_OnHTTPPingTimeout event


Time Trigger Sample

Time Trigger Sample Debug Diagnostics Tool 2.1 DebugDiag

This sample shows how to use a TimeTrigger to take action at a given time interval, similar to using a PerfTrigger to take action at a given performance counter threshold. In this case it records call stacks for the target process every 5 minutes, logging the data into an .htm output file at the specified path.

Note Note
The sample will append to a single htm output file. Therefore, it works best for a single crash target. If there are multiple crash targets running concurrently, they will all log to the same file without synchronization.
Setup
  1. Create a Crash Rule with the desired target (iis app pool, com+ app, service, or process) and accept all the defaults. This will create a CrashRule script in the "DebugDiag\Scripts" directory.
  2. Open the CrashRule script created in step 1 and note the Debugger.DumpPath used on the the first line. Copy this path to use for step 4.
  3. Replace the contents of the auto-generated crash rule script with the contents of the sample script at "DebugDiag\Samples\ControlScripts\TimeTriggers\CallStacks\CrashScript.vbs" ( Do not change the filename of the auto-generate script file ).
  4. Change the Debugger.Dump path in the new script file to be the value copied in step 2.
  5. Save the CrashRule script file as the same name and close the file.
  6. Open the "\DebugDiag\Scripts\DbgSvc.vbs file"

  7. Add the following code to the top of the DbgSvc.vbs file:

    Visual Basic Script
    View Colorized Copy to Clipboard Print
    Dim g_PidsToRefresh
Set g_PidsToRefresh = CreateObject("Scripting.Dictionary")
Controller.Scheduler.CreateRecurringTimeTrigger(60*5)

Sub Controller_OnTimeTriggerHit(ByVal ActiveTrigger)

Dim Process, ControlScript, pid

For Each pid In g_PidsToRefresh

  Set Process = Controller.Processes.GetProcessByProcessID(pid)

  If Not Process Is Nothing Then

    Select Case g_PidsToRefresh(pid)

      Case "PROCESS"

        ControlScript = GetControlScriptForProcess(Process)

      Case "SERVICE"

        For Each Service in Controller.Services

          If Service.ProcessID = pid Then

            ControlScript = GetControlScriptForService(Service)

            Exit For

          End If

        Next

    End Select

    If ControlScript <> "" Then

      HandleProcess Process, ControlScript

    End If
  End If

Next
End Sub

    Dim g_PidsToRefresh
Set g_PidsToRefresh = CreateObject("Scripting.Dictionary")
Controller.Scheduler.CreateRecurringTimeTrigger(60*5)

Sub Controller_OnTimeTriggerHit(ByVal ActiveTrigger)

Dim Process, ControlScript, pid

For Each pid In g_PidsToRefresh

  Set Process = Controller.Processes.GetProcessByProcessID(pid)

  If Not Process Is Nothing Then

    Select Case g_PidsToRefresh(pid)

      Case "PROCESS"

        ControlScript = GetControlScriptForProcess(Process)

      Case "SERVICE"

        For Each Service in Controller.Services

          If Service.ProcessID = pid Then

            ControlScript = GetControlScriptForService(Service)

            Exit For

          End If

        Next

    End Select

    If ControlScript <> "" Then

      HandleProcess Process, ControlScript

    End If
  End If

Next
End Sub

  8. Locate the HandleProcess sub routine in the DbgSvc.vbs file, and add the following code to the beginning of the sub routine.

    Visual Basic Script
    View Colorized Copy to Clipboard Print
    If Not g_PidsToRefresh.Exists(Process.ProcessID) Then

  g_PidsToRefresh.Add Process.ProcessID,"PROCESS"
End If
    If Not g_PidsToRefresh.Exists(Process.ProcessID) Then

  g_PidsToRefresh.Add Process.ProcessID,"PROCESS"
End If

  9. Locate the HandleService sub routine in the DbgSvc.vbs file, and add the following code to the beginning of the sub routine.

    Visual Basic Script
    View Colorized Copy to Clipboard Print
    If Not g_PidsToRefresh.Exists(Service.ProcessID) Then

  g_PidsToRefresh.Add Service.ProcessID,"SERVICE"
End If

    If Not g_PidsToRefresh.Exists(Service.ProcessID) Then

  g_PidsToRefresh.Add Service.ProcessID,"SERVICE"
End If

  10. Restart the Debug Diagnostic Service in the Services control Panel.
  11. At this point everything should be working correctly and the .htm report file will be generated at the path specified in step 4 when the target process(es) start. If the target process(es) are already running, either restart them or right-click on those processes in the 'Processes' tab of DebugDiag. and select 'Reload control script'. This will prompt for the control script. Specify the auto-generated Crash Rule script that was modified in steps 1-5 above.


Analysis Rules Development

Analysis Rules Development Debug Diagnostics Tool 2.1 DebugDiag

The Debug Diagnostic tools now comes with a new development platform for creating custom analysis rules.

Previously these were written using VBS script with no formal support for development environment, now we support full .NET IDE development features in Visual Studio, and we also provide a beta version of the new RuleBuilder, which is a tool based on Windows Workflow Foundation to create rules with minimum code writing.

Analysis Rule Interfaces

If you choose to create rules using the beta RuleBuilder application or Visual Studio the first step you need to do is learn the underlying Interfaces that the DebugDiag API, provides to create rules. For any Analysis Rule project you will need a reference to the following DLL C:\Program Files\DebugDiag\DebugDiag.DotNet.dll, which is performed automaticaly by the RuleBuilder.

This will provide access to the following interfaces:

IMultiDumpRule
Executed once per each memory dump when a series of dumps are selected.

Typical Use: Scenarios where processing multiple dumps at once is a requirement (rare). For example analyzing the increase in memory usage between multiple dump files.

IHangDumpRule
Executed once per memory dump being analyzed.

Typical Use: Checking for anything process-wide, such as global variables, loaded modules, items on the heap, or deadlocks/blocking involving multiple threads.

IHangThreadRule
Executed once per thread in each dump being analyzed.

Typical Use: checking for anything thread-specific, such as call stacks or stack objects.

IExceptionThreadRule
Executed on dumps where the context is set to a thread with an Exception.

Typical Use: Checking a faulting thread for a specific call stack and exception type (i.e. looking for a “known crash”). This would be include Second Chance Exceptions , 1st Chance Exceptions , or Breakpoints set on specific exceptions

IAnalysisRuleMetadata
Used for providing classifications for Analysis Rules for grouping in the Debug Diagnostics Analysis UI (optional).
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string Category
{
  get { return "Samples"; }
}

public string Description
{
  get { return "My new one"; }
}
public string Category
{
  get { return "Samples"; }
}

public string Description
{
  get { return "My new one"; }
}
  Important note  Important
The RuleBuilder Designer is predefined to create a IHangDumpRule, you may change the default Arguments created by
          default in order to be able to create a Rule that uses a different Interface according to your needs.

Rule Filters
When developing custom rules, you may find useful to apply filters on your rules, so they get executed only if the logic defined on the filter
        enables your rule to be executed on the dump, for example if your rule is designed only for dumps where the .Net runtime is present, you may
      validate the modules for the CLR runtime are loaded.
IMultiDumpRuleFilter
Consider implementing this interface when developing rules that apply to multiple dump files such as a rule based on the
            IMultiDumpRule interface.
ISingleDumpRuleFilter

              Consider implementing this interface when developing rules that apply to a single dump file such as a rule based on the
              IHangDumpRule interface.

  Important note  Important
You may create filters for rules created using the RuleBilder. Just use the same name of the rule xaml file
          adding the ".filter" to the name, please review the RuleBuilder sample rules to see some examples.

Please see the following Walkthroughs to get started on building your own custom rules:
  • Using the RuleBuilder (Beta) to create Analysis Rules
  • Walkthrough: Creating a New Analysis Rule Project
  • Walkthrough: Working with the DebuDiag.SampleAnalysis Rules Project
  • Optional Steps for Debugging
Samples
  • RuleBuilder Samples
  • Analysis Rules Samples


RuleBuilder Samples

RuleBuilder Samples Debug Diagnostics Tool 2.1 DebugDiag

The Sample project included with DebugDiag 2.0, includes five sample files for the beta version of DebugDiag.RuleBuilder.exe, the samples can be found on C:\Program Files\DebugDiag\Samples\AnalysisRules\XamlRules

Sample Files

To review the sample rules open DebugDiag.RuleBuilder.exe located on C:\Program Files\DebugDiag and click the open button on the menu, Locate the sample you want to review on C:\Program Files\DebugDiag\Samples\AnalysisRules\XamlRules and open it.

The samples available are:

AspxPages3
This sample will get HttpContext objects using the NetDbgThread object, defined as an Argument, to filter the stacks processing incomming requests, It will also check if the URL of the page matches a given name and will add the results to the .

The sample demonstrates how to implement the ManagerWriteLine Activity and the use of multiple Control Flow Activities such as If, ForEach<T>, Sequence and Primitive activities such as Assign.

AspxPages3.Filter
This sample shows how to create a Filter that will apply for the AspxPages3 example in order to use the rule just for dumps that match with the specified conditions defined in the filter.

The sample demonstrates how to implement the primitive activity Assign, and shows how to configure the default Arguments in order to create a Filter.

DumpAllExceptions
This sample shows how to dump all the managed exception objects of a process where the .Net runtime is loaded, similar to what the psscor extension does when executing the !dumpallexception command; the rule is based on a IHangDumpRule.

The sample demonstrates how to implement the ManagerWriteLine and WriteNameValuePair Activities, and the use of multiple Control Flow Activities such as If, ForEach<T>, Sequence and Primitive activities such as Assign. It also shows how to use some of the CLRMD APIs to get the managed code exceptions from the heap.

DumpStackObjects
This sample shows how to dump all the managed objects of a thread in a crash dump where the .Net runtime is loaded, this is similar to what the psscor extension does when executing the !dumpstackobjects command; the rule is based on a IHangThreadRule.

The sample demonstrates how to implement the ManagerWriteLine, WriteNameValuePair and GetStringFromStringArray Activities, and the use of multiple Control Flow Activities such as If, ForEach<T>, DoWHile, Sequence and Primitive activities such as Assign and InvokeMethod. It also shows how to use some of the CLRMD APIs to get the managed code objects from the Stack.

DumpStringObjectsFromStack
This sample shows how to dump all the managed strings found on a thread in a crash dump where the .Net runtime is loaded, the rule is based on a IHangThreadRule.

The sample demonstrates how to implement the ManagerWriteLine, WriteNameValuePair and GetStringFromStringArray Activities, and the use of multiple Control Flow Activities such as If, ForEach<T>, DoWHile, Sequence and Primitive activities such as Assign and InvokeMethod. It also shows how to use some of the CLRMD APIs to get the managed code string objects from the Stack.

RunDebuggerCommand
This sample shows how to create a Filter that will apply for the AspxPages3 example in order to use the rule just for dumps that match with the specified conditions defined in the filter.

The sample demonstrates how to implement the primitive activity Assign, and shows how to configure the default Arguments in order to create a Filter.

RunDebuggerCommand2
This sample shows how to create a Filter that will apply for the AspxPages3 example in order to use the rule just for dumps that match with the specified conditions defined in the filter.

The sample demonstrates how to implement the primitive activity Assign, and shows how to configure the default Arguments in order to create a Filter.

ShowDumpNames
This sample shows how to create a IMultiDumpRule To create a report with the dumpnames of the files selected on the Analyzer.

The sample demonstrates how to implement the ManagerWriteLine Activity and the use of the primitive activity Assign, it alsoe shows how to configure the default Arguments in order to create a MultipleDump Rule.

ShowThreadID
This sample shows how to create a rule that looks the dump to match a thread ID and report an error on the Report.

The sample demonstrates how to implement the ManagerWriteLine, and the ReportError Activity.

StackMatch
This sample shows how to create a rule to validate if a given callstack is found on a dump.

The sample demonstrates how to implement the DDStackMatch, and the ReportError Activity.

See Also

Other Resources

DebugDiag Activities
Using the RuleBuilder (Beta) to create Analysis Rules


Analysis Rules Samples

Analysis Rules Samples Debug Diagnostics Tool 2.1 DebugDiag

Debgudiag includes a Sample VC# project with multiple sample rules implemented located on C:\Program Files\DebugDiag\Samples\AnalysisRules\DebugDiag.SampleAnalysisRules.csproj.

Samples Files

To access the custom analysis rules sample files open an instance of Visual Studio 2010 or 2012 and go to c:\Procgram Files\DebugDiag\Samples\AnalysisRules to open the DebugDiag.SampleAnalysisRules.sln solution.

AspxPages
This sample will get HttpContext objects using debugger.AspxPages, and access their fields via *dynamic* objects.

The sample demonstrates how the IHangDumpRule and IAnalysisRuleMetadata are implemented and how you may obtain a NetDbgThread Object and Write data on the report.

AspxPages2
This sample will find HttpContext objects on the *stack*, and access their fields via ClrMD*Ext* dynamic objects

The sample demonstrates how the IHangThreadRule and IAnalysisRuleMetadata are implemented and how you may use the NetDbgThread Object and Write data on the report.

AspxPages3
This sample will find HttpContext objects on the *stack*, and access their fields via ClrMD.

The sample demonstrates how the IHangThreadRule, IAnalysisRuleMetadata and ISingleDumpRuleFilter are implemented and shows how to implement a Filter that will make the rule only to run under a given condition.

BuggyAnalysis
This sample will throw an exception, to demonstrate the error information you will see in the report.

The sample demonstrates how the IHangDumpRule and IAnalysisRuleMetadata are implemented and how you may receive notifications on the report about problems that may happen while executing the rule logic.

DumpAllExceptions
This sample shows how to enumerate all the objects found in the managed heap, while filtering only the objects that are exceptions

The sample demonstrates how the IHangDumpRule and IAnalysisRuleMetadata are implemented and how you may use different objectcs provided by CLRMD like ClrHeap, ClrObject, ClrType, and ClrException.

DumpStackObjects
This sample will iterate through all the stacks object, to build list like the one obtained from the output of the SOS extension command !DumpStackObjects (!dso)

The sample demonstrates how the IHangThreadRule and IAnalysisRuleMetadata are implemented and the usage of the ClrRoot object for getting the object reference from the ClrHeap. It will show how to dump all managed stack objects using dynamic objects in ClrMemDiagExt

DumpStackObjects2
This sample will iterate through all the stacks object, to build list like the one obtained from the output of the SOS extension command !DumpStackObjects (!dso)

The sample demonstrates how the IHangThreadRule and IAnalysisRuleMetadata are implemented and the usage of the ClrRoot object for getting the object reference from the ClrHeap. It will show how to dump all managed stack objects using straight ClrMd.

ExtensionCommandSample
This sample demonstrates how to invoke a debugger extension from the analysis rule.

The sample demonstrates how the IHangDumpRule and IAnalysisRuleMetadata are implemented and how you may execute an extension command using the NetDbgObj object.

ShowDumpNames
This sample will look at all the dumps that were selected by the user and report their filename.

The sample demonstrates how the IMultiDumpRule and IAnalysisRuleMetadata are implemented.

ShowNTAccounts
This sample shows how to enumerate the managed heap using the NetDbgObj object.

The sample demonstrates how the IHangDumpRule and IAnalysisRuleMetadata are implemented.

ShowSQLCommands
This sample shows how to dump the CommandText property of a SQLCommand object and the connection string associated using the NetDbgThread object.

The sample demonstrates how the IHangThreadRule is implemented.

ShowStacks
This sample will iterate through all the stacks and stack frames in a dump file to report the call stacks, it also shows how to update the progress.

The sample demonstrates how the IHangDumpRule and IAnalysisRuleMetadata are implemented.

ShowTargetMachineProcessorType
This sample will use the raw IDebugControl interface to get the processor bitness

The sample demonstrates how the IHangDumpRule and IAnalysisRuleMetadata are implemented.

ShowThreadID
This sample will report an error when it finds thread #3

The sample demonstrates how the IHangDumpRule and IAnalysisRuleMetadata are implemented.

StackMatching
This sample will report whenever a stack matches the specified pattern that was written on the code

The sample demonstrates how the IExceptionThreadRule is implemented.

UpdateProgress
This example is intended to demonstrate how to update the progress for multiple dumps

The sample demonstrates how the IMultiDumpRule and IAnalysisRuleMetadata are implemented.

See Also

Other Resources

Walkthrough: Working with the DebuDiag.SampleAnalysis Rules Project
Walkthrough: Creating a New Analysis Rule Project


Walkthrough: Creating a New Analysis Rule Project

Walkthrough: Creating a New Analysis Rule Project Debug Diagnostics Tool 2.1 DebugDiag

This Walkthrough will guide you on the basic steps you need to follow to start creating your custom code rules.

Creating a New Analysis Rule Project

  1. Open Visual Studio 2012 and create new Windows Class Library Project in the language of your choosing. For this example we named the project MyAnalysisRules and have renamed the class to MyAnalysisRule.

    Note Note
    This class must be Public.

  2. Add a Reference to the following assemblies

    • C:\Program Files\DebugDiag\DebugDiag.DotNet.dll
    • C:\Program Files\DebugDiag\Microsoft.Diagnostics.Runtime.dll
    • C:\Program Files\DebugDiag\ClrMemDiagExt.dll
    Note Note
    DebugDiag.DotNet.dll is the only required reference for creating rules. The following sample uses functionality contained in Microsoft.Diagnostics.Runtime.dll and ClrMemDiagExt.dll so they are included in this sample.

  3. Add the following using statements:

    C#
    VB
    C++
    F#
    View Colorized Copy to Clipboard Print
    using DebugDiag.DotNet.AnalysisRules;
using DebugDiag.DotNet;
using DebugDiag.DotNet.DbgLib;
using Microsoft.Diagnostics.Runtime;
    using DebugDiag.DotNet.AnalysisRules;
using DebugDiag.DotNet;
using DebugDiag.DotNet.DbgLib;
using Microsoft.Diagnostics.Runtime;
      Note  Note
    Additional References can be made to other Debugging Extensions such as PSSCOR4, but are not required.
  4. Implement the following interface: IHangThreadRule
  5. Add code to the run RunAnalysisRule(NetScriptManager, NetDbgObj, NetDbgThread, NetProgress)
              function produced by the IHangThreadRule interface.
    C#
    VB
    C++
    F#
    View Colorized Copy to Clipboard Print
    public void RunAnalysisRule(NetScriptManager manager, NetDbgObj debugger, NetDbgThread thread, NetProgress progress)
{
string rawUrl;

if (thread.ManagedThread != null)
{
// If this thread is processing a web request...
if (thread.FindFrame("System.Web.HttpRuntime.ProcessRequest") > -1)
{
// Find the first HttpContext object on this thread's stack
dynamic context = thread.FindFirstStackObject("System.Web.HttpContext");
if (context != null)
{
// NOTE - access fields directly off the dynamic objects, without worrying about bitness and other complexities
if (debugger.ClrVersionInfo.Version.Major >= 4)
rawUrl = context._request._rawUrl;
else
rawUrl = context._request._url.m_String;

// Write to the report details
manager.WriteLine(string.Format("Debugger Thread #{0} - <b>{1}</b>", thread.ThreadID, rawUrl));

        // Write to the report summary (provide solutionSourceId if reporting to UDE!)
        if (rawUrl.Contains("sleep.aspx"))
        manager.ReportError("This is bad", "Don't name your page sleep.aspx");

        return;
      }
    }
  }

  // Write to the report details
  manager.WriteLine(string.Format("Thread #{0} is not executing any request", thread.ThreadID));
}
    public void RunAnalysisRule(NetScriptManager manager, NetDbgObj debugger, NetDbgThread thread, NetProgress progress)
{
string rawUrl;

if (thread.ManagedThread != null)
{
// If this thread is processing a web request...
if (thread.FindFrame("System.Web.HttpRuntime.ProcessRequest") > -1)
{
// Find the first HttpContext object on this thread's stack
dynamic context = thread.FindFirstStackObject("System.Web.HttpContext");
if (context != null)
{
// NOTE - access fields directly off the dynamic objects, without worrying about bitness and other complexities
if (debugger.ClrVersionInfo.Version.Major >= 4)
rawUrl = context._request._rawUrl;
else
rawUrl = context._request._url.m_String;

// Write to the report details
manager.WriteLine(string.Format("Debugger Thread #{0} - <b>{1}</b>", thread.ThreadID, rawUrl));

        // Write to the report summary (provide solutionSourceId if reporting to UDE!)
        if (rawUrl.Contains("sleep.aspx"))
        manager.ReportError("This is bad", "Don't name your page sleep.aspx");

        return;
      }
    }
  }

  // Write to the report details
  manager.WriteLine(string.Format("Thread #{0} is not executing any request", thread.ThreadID));
}
  6.
              Optional: Implement the IAnalysisRuleMetadata interface and provide a category and description for your sample.

    C#
    VB
    C++
    F#
    View Colorized Copy to Clipboard Print
    public string Category

{
get { return "MyAnalysisSamples"; }
}

public string Description

{
get { return "Sample C# analysis rule which finds HTTPContext Objects on Stacks"; }
}
    public string Category

{
get { return "MyAnalysisSamples"; }
}

public string Description

{
get { return "Sample C# analysis rule which finds HTTPContext Objects on Stacks"; }
}
  7.
              Build the Project and copy MyAnalysisRule.dll to C:\Program Files\DebugDiag\AnalysisRules.

  8.
              Open the Debug Diag 2.0 Analysis program.  In the UI scroll to the bottom and you will see your new Analysis Rule.
              Note if you have not implemented IAnalysisRuleMetadata this would have been placed in Section named after your Assembly.

  9. Run the rule to see your sample report.
      Note  Note
    This walkthrough was based on the ASPXPAGES2 sample found in the SAMPLES  mentioned in the next walkthrough.


Walkthrough: Working with the DebuDiag.SampleAnalysis Rules Project

Walkthrough: Working with the DebuDiag.SampleAnalysis Rules Project Debug Diagnostics Tool 2.1 DebugDiag

This walkthrough will guide you to get started on how to use the sample project that came with examples for the different kind og Analysis Rules you may build using the API.

You will need to build the project in order to see the analysis rules in the Debug Diagnostics Analysis 2.0 UI under the Samples and DebugDiag.SampleAnalysis Rules categories.

Working with the DebugDiag.SampleAnalysis Rules Project

  1. Open the project C:\Program Files\DebugDiag\Samples\AnalysisRules\DebugDiag.SampleAnalysisRules.csproj.

  2. Build the project. Then open Debug Diag 2.0 Analysis program. You find that the Rules from the sample are now added to the UI. Note that we did not copy the assembly to the Debug Diag 2.0 Analysis program folder. See Optional steps to improve your debugging experience to see how this was done.

  3. In the project you will see each of the rules found in the UI is represented as its own Class file. Examine the StackMatching Rule and note that it does not implement the IAnalysisRuleMetadata , this is why it is not included in the Samples category.

  4. To add a new Rule simply Add a new Class file. Reminder to declare this as public otherwise you rule will not be displayed in the Debug Diag Analysis UI

    C#
    VB
    C++
    F#
    View Colorized Copy to Clipboard Print
    namespace DebugDiag.SampleAnalysisRules
{

  public class MyNewSampleRule
  {

  }

}
    namespace DebugDiag.SampleAnalysisRules
{

  public class MyNewSampleRule
  {

  }

}
  5. Next Implement any of the desired Interfaces
  6. Build the project. Copy the DebugDiag.AnalysisRules.dll assembly from C:\Program Files\DebugDiag\Samples\AnalysisRules\obj\Debug
            to C:\Program Files\DebugDiag\AnalysisRules\.
  7. Open Debug Diag Analysis 2.0 to see your new Rule.


Optional Steps for Debugging

Optional Steps for Debugging Debug Diagnostics Tool 2.1 DebugDiag

Once you have created a custom rule using the .Net API, you will need to perform furthers steps in order to debug and use your custom rule. Please use one of the following steps to improve your debugging experience.

Optional steps to improve your debugging experience
  • In the DebugDiag.Analysis.exe UI, click the Options icon and add the path to your compiled assembly in the Rule Search Paths list. See Analyzer Settings for more information about the Options settings.
  • Using Visual Studio, go to the the Build tab of the Project Properties window, set the Output Path to C:\Program Files\DebugDiag\AnalysisRules, or…
  • Using Visual Studio, go to the the Build Events tab of the Project Properties window, set the Post-build event command line to copy "$(TargetPath)" "C:\Program Files\DebugDiag"

To step through your analysis rule code in the debugger:

  1. Set a breakpoint in your rule implementation.

  2. Choose one of these two options to get the debugger attached to the DebugDiag Analysis UI

    Option 1:
    • Manually launch C:\Program Files\DebugDiag\DebugDiag.Analysis.exe.
    • Attach Visual Studio via CTRL+ALT+E or the Debug | Attach To Process… menu.
    • Close the UI and repeat every time you change your code.
    Option 2:
    • On the Debug tab of the Project Properties window:
    • Select the Start External Program option.
    • Set the path to C:\Program Files\DebugDiag\DebugDiag.Analysis.exe.
    • Set the Working Directory to C:\Program Files\DebugDiag\.
  3. Press F5
  4. In the DebugDiag Analysis UI, select your rule and target dump file(s), and start the analysis.

  5. The debugger will break in when your breakpoint is hit.

    Tip Tip
    Consider using C:\Program Files\DebugDiag\x86Support instead of C:\Program Files\DebugDiag in the steps above, This will allow for ‘edit and continue’ which is very helpful during development, however it will limit you to debugging only 32 bit dumps during development.
See Also

Other Resources

Analyzer Settings


Reference

Reference Debug Diagnostics Tool 2.1 DebugDiag

The DebguDiag class library is a set of classes, interfaces, and value types that provide access to the analyzer and debugger functionality. It is the foundation on which Analysis rules are built. The namespaces and namespace categories in the class library are listed in the following table and documented in detail in this reference.

Namespaces
Namespace | Description
DebugDiag.DbgLib | The DbgLib namespace has the definitions of the public COM interfaces, implemented by native objects. You may need to interact with them when building custom rules. Most of the main objects needed to create a rule, and generate a report, are defined on the DebugDiag.DotNet namespace, however, there are few cases where you may need to interact with objects that only have a native implementation, and you will find all the documentation of their functionality on the interfaces contained in this namespace.
DebugDiag.DotNet | The DebugDiag.DotNet namespace, contains the main objects used to manage the debugger provided by debugdiag in order to open a dump file, execute commands, load extensions on the debugger, write results on the reports, and more.
DebugDiag.DotNet.AnalysisRules | The DebugDiag.DotNet.AnalysisRules namespace contain the clases and interfaces you will need to use in order to create custom rules that can be added to the DebugDiag.Analysis.exe tool.


DebugDiag.DbgLib Namespace

DebugDiag.DbgLib Namespace Debug Diagnostics Tool 2.1 DebugDiag
Interfaces
 | Interface | Description
Public interface | ICritSecInfo | This is the interface implemented by a COM object that manages the information for all locked critical sections in a dump file. An instance of this object is obtained by calling the NetDbgObj.CritSecInfo method.
Public interface | IDbgBreakPoint | This is the interface implemented by a COM object that represents a breakpoint. This object is obtained from the NetDbgObj.GetBreakPoint property and is used on live debugging.
Public interface | IDbgCritSec | This interface is implemented by a COM object represents a critical section. This object is obtained from the CritSecInfo object. More information about the CritSecInfo objects can be found in the ICritSecInfo Interface documentation.
Public interface | IDbgModule | This is the interface implemented by a COM object that represents an instance of a DLL or EXE module. It is used to obtain information about the module it represents. To obtain an instance of this object call the NetDbgObj.GetModuleByAddress or NetDbgObj.GetModuleByName method of the DbgObj object. Alternatively you can use the ModuleInfo COM object to iterate through a collection of loaded modules, for more information about the ModuleInfo see IModuleInfo Interface help.
Public interface | IDbgState |
Public interface | IEnvironmentVariables | This is the interface implemented by a COM object that maintains a collection of environment variables that are associated with the debugger instance. An instance of this object is obtained from the NetDbgObj.EnvironmentVariables property.
Public interface | IExportsInfo | This is the interface implemented by a COM object that maintains a collection of ExportSymbol objects for a specific DLL module in the dump file. An instance of this object is obtained from the IDbgModule.ExportsInfo property. For more information about the ExportSymbol COM object please see IExportSymbol interface documentation.
Public interface | IExportSymbol | This is the interface implemented by a COM object that contains information about a single exported symbol of a DLL modules exported symbols. An instance of this object is obtained from the ExportsInfo collection. For more information about the ExportsInfo collection please see IExportsInfo interface documentation.
Public interface | IImportModule | This is the interface implemented by a COM object that represents a Imports Symbols in Modules. This object is obtained from the ImportsInfo object. For more information regarding the ImportsInfo COM object pelase see IImportsInfo interface documentation.
Public interface | IImportsInfo | This is the interface implemented by a COM object that manages the information for the imports symbols in modules in a dump file. An instance of this object is obtained by calling the IModule.ImportsInfo method.
Public interface | IModuleInfo |
Public interface | IResult | This is the interface implemented by a COM object that represents a Result object. An instance of this object is obtained from the Results object. For more infomration regarding the Results object please see IResults interface documentation.
Public interface | IResults | This is the interface implemented by a COM object that represents a global collection of Result objects. An instance of this object is obtained from the NetScriptManager.GetResults property of the Manager object. The Manager object is an intrinsic object of the script and available by default.


ICritSecInfo Interface

ICritSecInfo Interface Debug Diagnostics Tool 2.1 DebugDiag
This is the interface implemented by a COM object that manages the information for all locked critical sections in a dump file. An instance of this object is obtained by calling the NetDbgObj.CritSecInfo method.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface ICritSecInfo : IEnumerable
public interface ICritSecInfo : IEnumerable
Public Interface ICritSecInfo _
    Inherits IEnumerable
Public Interface ICritSecInfo _
    Inherits IEnumerable
public interface class ICritSecInfo : IEnumerable
public interface class ICritSecInfo : IEnumerable
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class ImplementedRule : IMultiDumpRule, IAnalysisRuleMetadata
{
    public void RunAnalysisRule(DebugDiag.DotNet.NetScriptManager manager, DebugDiag.DotNet.NetProgress Progress)
    {

        //Create a list of dumps that will be analyzed
        List<string> dumpFiles = new List<string>();

        dumpFiles = manager.GetDumpFiles();

        foreach (string dump in dumpFiles)
        {
            using (NetDbgObj debugger = manager.GetDebugger(dump))
            {
                DebugDiag.DbgLib.ICritSecInfo CritSecInfo = debugger.CritSecs;

                if (CritSecInfo.Count == 0)
                {
                    manager.Write("No locked critical sections");
                }
                else
                {
                    foreach (DebugDiag.DbgLib.IDbgCritSec DbgCritSec in CritSecInfo)
                   {
                        manager.WriteLine("CritSec " + debugger.GetSymbolFromAddress(DbgCritSec.Address) + " at " + DbgCritSec.Address.ToString());
                        manager.WriteLine( "There are " + DbgCritSec.LockCount.ToString() + " locks on this critical section.");
                    }
                }
            }
        }
    }
}
public class ImplementedRule : IMultiDumpRule, IAnalysisRuleMetadata
{
    public void RunAnalysisRule(DebugDiag.DotNet.NetScriptManager manager, DebugDiag.DotNet.NetProgress Progress)
    {

        //Create a list of dumps that will be analyzed
        List<string> dumpFiles = new List<string>();

        dumpFiles = manager.GetDumpFiles();

        foreach (string dump in dumpFiles)
        {
            using (NetDbgObj debugger = manager.GetDebugger(dump))
            {
                DebugDiag.DbgLib.ICritSecInfo CritSecInfo = debugger.CritSecs;

                if (CritSecInfo.Count == 0)
                {
                    manager.Write("No locked critical sections");
                }
                else
                {
                    foreach (DebugDiag.DbgLib.IDbgCritSec DbgCritSec in CritSecInfo)
                   {
                        manager.WriteLine("CritSec " + debugger.GetSymbolFromAddress(DbgCritSec.Address) + " at " + DbgCritSec.Address.ToString());
                        manager.WriteLine( "There are " + DbgCritSec.LockCount.ToString() + " locks on this critical section.");
                    }
                }
            }
        }
    }
}
See Also
ICritSecInfo Members
DebugDiag.DbgLib Namespace


ICritSecInfo Members

ICritSecInfo Members Debug Diagnostics Tool 2.1 DebugDiag

The ICritSecInfo type exposes the following members.
Methods
 | Name | Description
Public method | GetCritSecByAddress | This method initializes and returns a DbgCritSec COM object based on the address passed into the method. The DbgCritSec object is used to retrieve information about the critical section it represents. See the IDbgCritSec interface documentation for more information about the DbgCritSec object.
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of DbgCritSec COM objects
Public method | LoadAllLockedCriticalSections | This method initializes the CritSecInfo COM object. This method is called automatically when you obtain the count via the Count Property.
Back to Top
Properties
 | Name | Description
Public property | Count | This property returns the number of locked critical sections in the dump file.
Public property | Item | This property returns a COM DbgCritSec object that can be used to query information about a critical section.
Back to Top
See Also
ICritSecInfo Interface
DebugDiag.DbgLib Namespace


ICritSecInfo Methods

ICritSecInfo Methods Debug Diagnostics Tool 2.1 DebugDiag
The ICritSecInfo type exposes the following members.
Methods
 | Name | Description
Public method | GetCritSecByAddress | This method initializes and returns a DbgCritSec COM object based on the address passed into the method. The DbgCritSec object is used to retrieve information about the critical section it represents. See the IDbgCritSec interface documentation for more information about the DbgCritSec object.
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of DbgCritSec COM objects
Public method | LoadAllLockedCriticalSections | This method initializes the CritSecInfo COM object. This method is called automatically when you obtain the count via the Count Property.
Back to Top
See Also
ICritSecInfo Interface
DebugDiag.DbgLib Namespace


GetCritSecByAddress Method

ICritSecInfo GetCritSecByAddress Method Debug Diagnostics Tool 2.1 DebugDiag
This method initializes and returns a DbgCritSec COM object based on the address passed into the method. The DbgCritSec object is used to retrieve information about the critical section it represents. See the IDbgCritSec interface documentation for more information about the DbgCritSec object.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IDbgCritSec GetCritSecByAddress(
    double Address
)
IDbgCritSec GetCritSecByAddress(
    double Address
)
Function GetCritSecByAddress ( _
    Address As Double _
) As IDbgCritSec
Function GetCritSecByAddress ( _
    Address As Double _
) As IDbgCritSec
IDbgCritSec^ GetCritSecByAddress(
    [InAttribute] double Address
)
IDbgCritSec^ GetCritSecByAddress(
    [InAttribute] double Address
)
Parameters
Address
Type:   Online System Double
The address passed into the method should be the address of a critical section.
Return Value
An instance of a COM object implementing the IDbgCritSec Interface
See Also
ICritSecInfo Interface
ICritSecInfo Members
DebugDiag.DbgLib Namespace


GetEnumerator Method

ICritSecInfo GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of DbgCritSec COM objects
Back to Top
See Also
ICritSecInfo Interface
ICritSecInfo Members
DebugDiag.DbgLib Namespace


GetEnumerator Method

ICritSecInfo GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
This method gives access to the enumerator for the collection of DbgCritSec COM objects

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IEnumerator GetEnumerator()
IEnumerator GetEnumerator()
Function GetEnumerator As IEnumerator
Function GetEnumerator As IEnumerator
IEnumerator^ GetEnumerator()
IEnumerator^ GetEnumerator()
Return Value
Enumrator that implements the IEnumerator .Net interface.
Implements
  Online IEnumerable GetEnumerator
See Also
ICritSecInfo Interface
ICritSecInfo Members
GetEnumerator Overload
DebugDiag.DbgLib Namespace


LoadAllLockedCriticalSections Method

ICritSecInfo LoadAllLockedCriticalSections Method Debug Diagnostics Tool 2.1 DebugDiag
This method initializes the CritSecInfo COM object. This method is called automatically when you obtain the count via the Count Property.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
void LoadAllLockedCriticalSections()
void LoadAllLockedCriticalSections()
Sub LoadAllLockedCriticalSections
Sub LoadAllLockedCriticalSections
void LoadAllLockedCriticalSections()
void LoadAllLockedCriticalSections()
See Also
ICritSecInfo Interface
ICritSecInfo Members
DebugDiag.DbgLib Namespace


ICritSecInfo Properties

ICritSecInfo Properties Debug Diagnostics Tool 2.1 DebugDiag
The ICritSecInfo type exposes the following members.
Properties
 | Name | Description
Public property | Count | This property returns the number of locked critical sections in the dump file.
Public property | Item | This property returns a COM DbgCritSec object that can be used to query information about a critical section.
Back to Top
See Also
ICritSecInfo Interface
DebugDiag.DbgLib Namespace


Count Property

ICritSecInfo Count Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the number of locked critical sections in the dump file.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int Count { get; }
int Count { get; }
ReadOnly Property Count As Integer
    Get
ReadOnly Property Count As Integer
    Get
property int Count {
    int get ();
}
property int Count {
    int get ();
}
See Also
ICritSecInfo Interface
ICritSecInfo Members
DebugDiag.DbgLib Namespace


Item Property

ICritSecInfo Item Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a COM DbgCritSec object that can be used to query information about a critical section.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IDbgCritSec this[
    int Index
] { get; }
IDbgCritSec this[
    int Index
] { get; }
ReadOnly Default Property Item ( _
    Index As Integer _
) As IDbgCritSec
    Get
ReadOnly Default Property Item ( _
    Index As Integer _
) As IDbgCritSec
    Get
property IDbgCritSec^ default[int Index] {
    IDbgCritSec^ get (int Index);
}
property IDbgCritSec^ default[int Index] {
    IDbgCritSec^ get (int Index);
}
Parameters
Index
Type:   Online System Int32
Integer with the index of the item to retrieve from the collection
Return Value
An instance of a COM object that implements the IDbgCritSecInterface
See Also
ICritSecInfo Interface
ICritSecInfo Members
DebugDiag.DbgLib Namespace


IDbgBreakPoint Interface

IDbgBreakPoint Interface Debug Diagnostics Tool 2.1 DebugDiag
This is the interface implemented by a COM object that represents a breakpoint. This object is obtained from the NetDbgObj.GetBreakPoint property and is used on live debugging.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IDbgBreakPoint
public interface IDbgBreakPoint
Public Interface IDbgBreakPoint
Public Interface IDbgBreakPoint
public interface class IDbgBreakPoint
public interface class IDbgBreakPoint
See Also
IDbgBreakPoint Members
DebugDiag.DbgLib Namespace


IDbgBreakPoint Members

IDbgBreakPoint Members Debug Diagnostics Tool 2.1 DebugDiag

The IDbgBreakPoint type exposes the following members.
Properties
 | Name | Description
Public property | Command | This property returns the debugger command associated with this breakpoint.
Public property | CurrentPassCount | This property returns the number of times this breakpoint has been passed. Each time a breakpoint is hit but not triggered this value is incremented by 1.
Public property | DataAccessType | This property returns a combination of “Read”, “Write” and “Execute” depending on the access type of the data breakpoint.
Public property | DataSize | This property returns the size of the data breakpoint in bytes. For example, the value of 4 would be returned for a DWORD data breakpoint.
Public property | ID | This property returns the unique sequential id associated with this breakpoint.
Public property | IsDeferred | This property returns true if the breakpoint resolution is deferred since the module is not yet loaded, otherwise it returns false.
Public property | MatchThreadID | This property returns a valid thread id if the breakpoint is thread specific.
Public property | Offset | This property returns the address where the breakpoint has been set if this is a non-deferred breakpoint.
Public property | OffsetExpression | This property returns the address/symbol expression used to create the breakpoint.
Public property | PassCount | This property returns a number that specifies how many times this breakpoint hit should be ignored before triggering a breakpoint event.
Public property | Type | This property returns “Code” if this is a code breakpoint or “Data” if this is a data breakpoint.
Back to Top
See Also
IDbgBreakPoint Interface
DebugDiag.DbgLib Namespace


IDbgBreakPoint Properties

IDbgBreakPoint Properties Debug Diagnostics Tool 2.1 DebugDiag
The IDbgBreakPoint type exposes the following members.
Properties
 | Name | Description
Public property | Command | This property returns the debugger command associated with this breakpoint.
Public property | CurrentPassCount | This property returns the number of times this breakpoint has been passed. Each time a breakpoint is hit but not triggered this value is incremented by 1.
Public property | DataAccessType | This property returns a combination of “Read”, “Write” and “Execute” depending on the access type of the data breakpoint.
Public property | DataSize | This property returns the size of the data breakpoint in bytes. For example, the value of 4 would be returned for a DWORD data breakpoint.
Public property | ID | This property returns the unique sequential id associated with this breakpoint.
Public property | IsDeferred | This property returns true if the breakpoint resolution is deferred since the module is not yet loaded, otherwise it returns false.
Public property | MatchThreadID | This property returns a valid thread id if the breakpoint is thread specific.
Public property | Offset | This property returns the address where the breakpoint has been set if this is a non-deferred breakpoint.
Public property | OffsetExpression | This property returns the address/symbol expression used to create the breakpoint.
Public property | PassCount | This property returns a number that specifies how many times this breakpoint hit should be ignored before triggering a breakpoint event.
Public property | Type | This property returns “Code” if this is a code breakpoint or “Data” if this is a data breakpoint.
Back to Top
See Also
IDbgBreakPoint Interface
DebugDiag.DbgLib Namespace


Command Property

IDbgBreakPoint Command Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the debugger command associated with this breakpoint.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string Command { get; set; }
string Command { get; set; }
Property Command As String
    Get
    Set
Property Command As String
    Get
    Set
property String^ Command {
    String^ get ();
    void set (String^ value);
}
property String^ Command {
    String^ get ();
    void set (String^ value);
}
See Also
IDbgBreakPoint Interface
IDbgBreakPoint Members
DebugDiag.DbgLib Namespace


CurrentPassCount Property

IDbgBreakPoint CurrentPassCount Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the number of times this breakpoint has been passed. Each time a breakpoint is hit but not triggered this value is incremented by 1.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
double CurrentPassCount { get; }
double CurrentPassCount { get; }
ReadOnly Property CurrentPassCount As Double
    Get
ReadOnly Property CurrentPassCount As Double
    Get
property double CurrentPassCount {
    double get ();
}
property double CurrentPassCount {
    double get ();
}
See Also
IDbgBreakPoint Interface
IDbgBreakPoint Members
DebugDiag.DbgLib Namespace


DataAccessType Property

IDbgBreakPoint DataAccessType Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a combination of “Read”, “Write” and “Execute” depending on the access type of the data breakpoint.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string DataAccessType { get; }
string DataAccessType { get; }
ReadOnly Property DataAccessType As String
    Get
ReadOnly Property DataAccessType As String
    Get
property String^ DataAccessType {
    String^ get ();
}
property String^ DataAccessType {
    String^ get ();
}
See Also
IDbgBreakPoint Interface
IDbgBreakPoint Members
DebugDiag.DbgLib Namespace


DataSize Property

IDbgBreakPoint DataSize Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the size of the data breakpoint in bytes. For example, the value of 4 would be returned for a DWORD data breakpoint.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int DataSize { get; }
int DataSize { get; }
ReadOnly Property DataSize As Integer
    Get
ReadOnly Property DataSize As Integer
    Get
property int DataSize {
    int get ();
}
property int DataSize {
    int get ();
}
See Also
IDbgBreakPoint Interface
IDbgBreakPoint Members
DebugDiag.DbgLib Namespace


ID Property

IDbgBreakPoint ID Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the unique sequential id associated with this breakpoint.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int ID { get; }
int ID { get; }
ReadOnly Property ID As Integer
    Get
ReadOnly Property ID As Integer
    Get
property int ID {
    int get ();
}
property int ID {
    int get ();
}
See Also
IDbgBreakPoint Interface
IDbgBreakPoint Members
DebugDiag.DbgLib Namespace


IsDeferred Property

IDbgBreakPoint IsDeferred Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns true if the breakpoint resolution is deferred since the module is not yet loaded, otherwise it returns false.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
bool IsDeferred { get; }
bool IsDeferred { get; }
ReadOnly Property IsDeferred As Boolean
    Get
ReadOnly Property IsDeferred As Boolean
    Get
property bool IsDeferred {
    bool get ();
}
property bool IsDeferred {
    bool get ();
}
See Also
IDbgBreakPoint Interface
IDbgBreakPoint Members
DebugDiag.DbgLib Namespace


MatchThreadID Property

IDbgBreakPoint MatchThreadID Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a valid thread id if the breakpoint is thread specific.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
double MatchThreadID { get; }
double MatchThreadID { get; }
ReadOnly Property MatchThreadID As Double
    Get
ReadOnly Property MatchThreadID As Double
    Get
property double MatchThreadID {
    double get ();
}
property double MatchThreadID {
    double get ();
}
See Also
IDbgBreakPoint Interface
IDbgBreakPoint Members
DebugDiag.DbgLib Namespace


Offset Property

IDbgBreakPoint Offset Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the address where the breakpoint has been set if this is a non-deferred breakpoint.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
double Offset { get; }
double Offset { get; }
ReadOnly Property Offset As Double
    Get
ReadOnly Property Offset As Double
    Get
property double Offset {
    double get ();
}
property double Offset {
    double get ();
}
See Also
IDbgBreakPoint Interface
IDbgBreakPoint Members
DebugDiag.DbgLib Namespace


OffsetExpression Property

IDbgBreakPoint OffsetExpression Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the address/symbol expression used to create the breakpoint.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string OffsetExpression { get; }
string OffsetExpression { get; }
ReadOnly Property OffsetExpression As String
    Get
ReadOnly Property OffsetExpression As String
    Get
property String^ OffsetExpression {
    String^ get ();
}
property String^ OffsetExpression {
    String^ get ();
}
See Also
IDbgBreakPoint Interface
IDbgBreakPoint Members
DebugDiag.DbgLib Namespace


PassCount Property

IDbgBreakPoint PassCount Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a number that specifies how many times this breakpoint hit should be ignored before triggering a breakpoint event.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
double PassCount { get; }
double PassCount { get; }
ReadOnly Property PassCount As Double
    Get
ReadOnly Property PassCount As Double
    Get
property double PassCount {
    double get ();
}
property double PassCount {
    double get ();
}
See Also
IDbgBreakPoint Interface
IDbgBreakPoint Members
DebugDiag.DbgLib Namespace


Type Property

IDbgBreakPoint Type Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns “Code” if this is a code breakpoint or “Data” if this is a data breakpoint.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string Type { get; }
string Type { get; }
ReadOnly Property Type As String
    Get
ReadOnly Property Type As String
    Get
property String^ Type {
    String^ get ();
}
property String^ Type {
    String^ get ();
}
See Also
IDbgBreakPoint Interface
IDbgBreakPoint Members
DebugDiag.DbgLib Namespace


IDbgCritSec Interface

IDbgCritSec Interface Debug Diagnostics Tool 2.1 DebugDiag
This interface is implemented by a COM object represents a critical section. This object is obtained from the CritSecInfo object. More information about the CritSecInfo objects can be found in the ICritSecInfo Interface documentation.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IDbgCritSec
public interface IDbgCritSec
Public Interface IDbgCritSec
Public Interface IDbgCritSec
public interface class IDbgCritSec
public interface class IDbgCritSec
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class ImplementedRule : IMultiDumpRule, IAnalysisRuleMetadata
{
    public void RunAnalysisRule(DebugDiag.DotNet.NetScriptManager manager, DebugDiag.DotNet.NetProgress Progress)
    {

        //Create a list of dumps that will be analyzed
        List<string> dumpFiles = new List<string>();

        dumpFiles = manager.GetDumpFiles();

        foreach (string dump in dumpFiles)
        {
            using (NetDbgObj debugger = manager.GetDebugger(dump))
            {
                DebugDiag.DbgLib.ICritSecInfo CritSecInfo = debugger.CritSecs;

                if (CritSecInfo.Count == 0)
                {
                    manager.Write("No locked critical sections");
                }
                else
                {
                    foreach (DebugDiag.DbgLib.IDbgCritSec DbgCritSec in CritSecInfo)
                   {
                        manager.Write("Critical Section Information</BR>");
                        manager.Write("</BR<CritSec " + debugger.GetSymbolFromAddress(DbgCritSec.Address) + " at " + DbgCritSec.Address.ToString());
                        manager.Write("</BR<LockCount " + DbgCritSec.LockCount.ToString());
                        manager.Write("</BR<RecursionCount " + DbgCritSec.RecursionCount.ToString());
                        manager.Write("</BR<OwnerThreadID - Debugger " + DbgCritSec.OwnerThreadID.ToString());
                        manager.Write("</BR<OwningThreadID - System " + DbgCritSec.OwnerThreadSystemID.ToString());
                        manager.Write("</BR<EntryCount " + DbgCritSec.EntryCount.ToString());
                        manager.Write("</BR<ContentionCount " + DbgCritSec.ContentionCount.ToString());
                        manager.Write("</BR<SpinCount " + DbgCritSec.SpinCount.ToString());
                        manager.Write("</BR<State " + DbgCritSec.State);
                    }
                }
            }
        }
    }
}
public class ImplementedRule : IMultiDumpRule, IAnalysisRuleMetadata
{
    public void RunAnalysisRule(DebugDiag.DotNet.NetScriptManager manager, DebugDiag.DotNet.NetProgress Progress)
    {

        //Create a list of dumps that will be analyzed
        List<string> dumpFiles = new List<string>();

        dumpFiles = manager.GetDumpFiles();

        foreach (string dump in dumpFiles)
        {
            using (NetDbgObj debugger = manager.GetDebugger(dump))
            {
                DebugDiag.DbgLib.ICritSecInfo CritSecInfo = debugger.CritSecs;

                if (CritSecInfo.Count == 0)
                {
                    manager.Write("No locked critical sections");
                }
                else
                {
                    foreach (DebugDiag.DbgLib.IDbgCritSec DbgCritSec in CritSecInfo)
                   {
                        manager.Write("Critical Section Information</BR>");
                        manager.Write("</BR<CritSec " + debugger.GetSymbolFromAddress(DbgCritSec.Address) + " at " + DbgCritSec.Address.ToString());
                        manager.Write("</BR<LockCount " + DbgCritSec.LockCount.ToString());
                        manager.Write("</BR<RecursionCount " + DbgCritSec.RecursionCount.ToString());
                        manager.Write("</BR<OwnerThreadID - Debugger " + DbgCritSec.OwnerThreadID.ToString());
                        manager.Write("</BR<OwningThreadID - System " + DbgCritSec.OwnerThreadSystemID.ToString());
                        manager.Write("</BR<EntryCount " + DbgCritSec.EntryCount.ToString());
                        manager.Write("</BR<ContentionCount " + DbgCritSec.ContentionCount.ToString());
                        manager.Write("</BR<SpinCount " + DbgCritSec.SpinCount.ToString());
                        manager.Write("</BR<State " + DbgCritSec.State);
                    }
                }
            }
        }
    }
}
See Also
IDbgCritSec Members
DebugDiag.DbgLib Namespace


IDbgCritSec Members

IDbgCritSec Members Debug Diagnostics Tool 2.1 DebugDiag

The IDbgCritSec type exposes the following members.
Properties
 | Name | Description
Public property | Address | This property returns the address of the critical section. If symbols are loaded you can pass the address of the critical section to NetDbgObj.GetSymbolFromAddress to determine who owns this critical section.
Public property | ContentionCount | This property returns the contention count value of the critical section.
Public property | EntryCount | This property returns the entry count value of the critical section.
Public property | LockCount | This property returns the lock count value of the critical section.
Public property | OwnerThreadID | This property returns the debugger thread ID of the thread that currently owns this critical section.
Public property | OwnerThreadSystemID | This property returns the system thread ID of the thread that currently owns this critical section.
Public property | RecursionCount | This property returns the recursion count value of the critical section.
Public property | SpinCount | This property returns the spin count value of the critical section.
Public property | State | This property returns a string value that represents the current state of the critical section. This value will be one of the following values: Locked Unlocked Transitioning Orphaned Deadlocked Uninitialized
Back to Top
See Also
IDbgCritSec Interface
DebugDiag.DbgLib Namespace


IDbgCritSec Properties

IDbgCritSec Properties Debug Diagnostics Tool 2.1 DebugDiag
The IDbgCritSec type exposes the following members.
Properties
 | Name | Description
Public property | Address | This property returns the address of the critical section. If symbols are loaded you can pass the address of the critical section to NetDbgObj.GetSymbolFromAddress to determine who owns this critical section.
Public property | ContentionCount | This property returns the contention count value of the critical section.
Public property | EntryCount | This property returns the entry count value of the critical section.
Public property | LockCount | This property returns the lock count value of the critical section.
Public property | OwnerThreadID | This property returns the debugger thread ID of the thread that currently owns this critical section.
Public property | OwnerThreadSystemID | This property returns the system thread ID of the thread that currently owns this critical section.
Public property | RecursionCount | This property returns the recursion count value of the critical section.
Public property | SpinCount | This property returns the spin count value of the critical section.
Public property | State | This property returns a string value that represents the current state of the critical section. This value will be one of the following values: Locked Unlocked Transitioning Orphaned Deadlocked Uninitialized
Back to Top
See Also
IDbgCritSec Interface
DebugDiag.DbgLib Namespace


Address Property

IDbgCritSec Address Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the address of the critical section. If symbols are loaded you can pass the address of the critical section to NetDbgObj.GetSymbolFromAddress to determine who owns this critical section.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
double Address { get; }
double Address { get; }
ReadOnly Property Address As Double
    Get
ReadOnly Property Address As Double
    Get
property double Address {
    double get ();
}
property double Address {
    double get ();
}
See Also
IDbgCritSec Interface
IDbgCritSec Members
DebugDiag.DbgLib Namespace


ContentionCount Property

IDbgCritSec ContentionCount Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the contention count value of the critical section.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
double ContentionCount { get; }
double ContentionCount { get; }
ReadOnly Property ContentionCount As Double
    Get
ReadOnly Property ContentionCount As Double
    Get
property double ContentionCount {
    double get ();
}
property double ContentionCount {
    double get ();
}
See Also
IDbgCritSec Interface
IDbgCritSec Members
DebugDiag.DbgLib Namespace


EntryCount Property

IDbgCritSec EntryCount Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the entry count value of the critical section.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
double EntryCount { get; }
double EntryCount { get; }
ReadOnly Property EntryCount As Double
    Get
ReadOnly Property EntryCount As Double
    Get
property double EntryCount {
    double get ();
}
property double EntryCount {
    double get ();
}
See Also
IDbgCritSec Interface
IDbgCritSec Members
DebugDiag.DbgLib Namespace


LockCount Property

IDbgCritSec LockCount Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the lock count value of the critical section.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int LockCount { get; }
int LockCount { get; }
ReadOnly Property LockCount As Integer
    Get
ReadOnly Property LockCount As Integer
    Get
property int LockCount {
    int get ();
}
property int LockCount {
    int get ();
}
See Also
IDbgCritSec Interface
IDbgCritSec Members
DebugDiag.DbgLib Namespace


OwnerThreadID Property

IDbgCritSec OwnerThreadID Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the debugger thread ID of the thread that currently owns this critical section.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int OwnerThreadID { get; }
int OwnerThreadID { get; }
ReadOnly Property OwnerThreadID As Integer
    Get
ReadOnly Property OwnerThreadID As Integer
    Get
property int OwnerThreadID {
    int get ();
}
property int OwnerThreadID {
    int get ();
}
See Also
IDbgCritSec Interface
IDbgCritSec Members
DebugDiag.DbgLib Namespace


OwnerThreadSystemID Property

IDbgCritSec OwnerThreadSystemID Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the system thread ID of the thread that currently owns this critical section.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
double OwnerThreadSystemID { get; }
double OwnerThreadSystemID { get; }
ReadOnly Property OwnerThreadSystemID As Double
    Get
ReadOnly Property OwnerThreadSystemID As Double
    Get
property double OwnerThreadSystemID {
    double get ();
}
property double OwnerThreadSystemID {
    double get ();
}
See Also
IDbgCritSec Interface
IDbgCritSec Members
DebugDiag.DbgLib Namespace


RecursionCount Property

IDbgCritSec RecursionCount Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the recursion count value of the critical section.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int RecursionCount { get; }
int RecursionCount { get; }
ReadOnly Property RecursionCount As Integer
    Get
ReadOnly Property RecursionCount As Integer
    Get
property int RecursionCount {
    int get ();
}
property int RecursionCount {
    int get ();
}
See Also
IDbgCritSec Interface
IDbgCritSec Members
DebugDiag.DbgLib Namespace


SpinCount Property

IDbgCritSec SpinCount Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the spin count value of the critical section.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
double SpinCount { get; }
double SpinCount { get; }
ReadOnly Property SpinCount As Double
    Get
ReadOnly Property SpinCount As Double
    Get
property double SpinCount {
    double get ();
}
property double SpinCount {
    double get ();
}
See Also
IDbgCritSec Interface
IDbgCritSec Members
DebugDiag.DbgLib Namespace


State Property

IDbgCritSec State Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a string value that represents the current state of the critical section. This value will be one of the following values: Locked Unlocked Transitioning Orphaned Deadlocked Uninitialized

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string State { get; }
string State { get; }
ReadOnly Property State As String
    Get
ReadOnly Property State As String
    Get
property String^ State {
    String^ get ();
}
property String^ State {
    String^ get ();
}
See Also
IDbgCritSec Interface
IDbgCritSec Members
DebugDiag.DbgLib Namespace


IDbgModule Interface

IDbgModule Interface Debug Diagnostics Tool 2.1 DebugDiag
This is the interface implemented by a COM object that represents an instance of a DLL or EXE module. It is used to obtain information about the module it represents. To obtain an instance of this object call the NetDbgObj.GetModuleByAddress or NetDbgObj.GetModuleByName method of the DbgObj object. Alternatively you can use the ModuleInfo COM object to iterate through a collection of loaded modules, for more information about the ModuleInfo see IModuleInfo Interface help.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IDbgModule
public interface IDbgModule
Public Interface IDbgModule
Public Interface IDbgModule
public interface class IDbgModule
public interface class IDbgModule
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class ImplementedRule : IMultiDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetProgress progress)
 {
    //Create a list of dumps that will be analyzed
    List<string> dumpFiles = new List<string>();

    dumpFiles = manager.GetDumpFiles();

    foreach (string dump in dumpFiles)
    {
        using (NetDbgObj debugger = manager.GetDebugger(dump))
        {
            DebugDiag.DbgLib.IDbgModule Module = debugger.GetModuleByModuleName("clr");

            if (Module == null)
            {
                manager.WriteLine("Unable to obtain Module object for clr.dll");
            }
            else
            {
                object Major, Minor, Build, Version;
                manager.WriteLine("Image name: " + Module.ImageName);
                Module.GetFileVersion(out Major, out Minor, out Build, out Version);
                manager.WriteLine("File version: " + Major.ToString() + "." + Minor.ToString() + "." + Build.ToString() + "." + Version.ToString());
                Module.GetProductVersion(out Major, out Minor, out Build, out Version);
                manager.WriteLine("Product version: " + Major.ToString() + "." + Minor.ToString() + "." + Build.ToString() + "." + Version.ToString());
                manager.WriteLine("Base address: " + Module.Base.ToString());
                manager.WriteLine("Checksum: " + Module.Checksum.ToString());
                manager.WriteLine("COM DLL: " + Module.IsCOMDLL.ToString());
                manager.WriteLine("ISAPIExtension: " + Module.IsISAPIExtension.ToString());
                manager.WriteLine("ISAPIFilter: " + Module.IsISAPIFilter.ToString());
                manager.WriteLine("Managed DLL: " + Module.IsManaged.ToString());
                manager.WriteLine("VB DLL: " + Module.IsVBModule.ToString());
                manager.WriteLine("Loaded Image Name: " + Module.LoadedImageName);
                manager.WriteLine("Mapped Image Name: " + Module.MappedImageName);
                manager.WriteLine("Module name: " + Module.ModuleName);
                manager.WriteLine("Single Threaded: " + Module.SingleThreaded.ToString());
                manager.WriteLine("Size: " + Module.Size.ToString());
                manager.WriteLine("Symbol File Name: " + Module.SymbolFileName);
                manager.WriteLine("Symbol Type: " + Module.SymbolType);
                manager.WriteLine("Time Stamp: " + Module.TimeStamp);
                manager.WriteLine("Comments: " + Module.VSComments);
                manager.WriteLine("Company Name: " + Module.VSCompanyName);
                manager.WriteLine("File Description: " + Module.VSFileDescription);
                manager.WriteLine("File Version: " + Module.VSFileVersion);
                manager.WriteLine("Internal Name: " + Module.VSInternalName);
                manager.WriteLine("Legal Copyright: " + Module.VSLegalCopyright);
                manager.WriteLine("Legal Trademarks: " + Module.VSLegalTrademarks);
                manager.WriteLine("Original filename: " + Module.VSOriginalFilename);
                manager.WriteLine("Private Build: " + Module.VSPrivateBuild);
                manager.WriteLine("Product Name: " + Module.VSProductName);
                manager.WriteLine("Product Version: " + Module.VSProductVersion);
                manager.WriteLine("Special Build: " + Module.VSSpecialBuild);
            }
        }
    }
 }
}
public class ImplementedRule : IMultiDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetProgress progress)
 {
    //Create a list of dumps that will be analyzed
    List<string> dumpFiles = new List<string>();

    dumpFiles = manager.GetDumpFiles();

    foreach (string dump in dumpFiles)
    {
        using (NetDbgObj debugger = manager.GetDebugger(dump))
        {
            DebugDiag.DbgLib.IDbgModule Module = debugger.GetModuleByModuleName("clr");

            if (Module == null)
            {
                manager.WriteLine("Unable to obtain Module object for clr.dll");
            }
            else
            {
                object Major, Minor, Build, Version;
                manager.WriteLine("Image name: " + Module.ImageName);
                Module.GetFileVersion(out Major, out Minor, out Build, out Version);
                manager.WriteLine("File version: " + Major.ToString() + "." + Minor.ToString() + "." + Build.ToString() + "." + Version.ToString());
                Module.GetProductVersion(out Major, out Minor, out Build, out Version);
                manager.WriteLine("Product version: " + Major.ToString() + "." + Minor.ToString() + "." + Build.ToString() + "." + Version.ToString());
                manager.WriteLine("Base address: " + Module.Base.ToString());
                manager.WriteLine("Checksum: " + Module.Checksum.ToString());
                manager.WriteLine("COM DLL: " + Module.IsCOMDLL.ToString());
                manager.WriteLine("ISAPIExtension: " + Module.IsISAPIExtension.ToString());
                manager.WriteLine("ISAPIFilter: " + Module.IsISAPIFilter.ToString());
                manager.WriteLine("Managed DLL: " + Module.IsManaged.ToString());
                manager.WriteLine("VB DLL: " + Module.IsVBModule.ToString());
                manager.WriteLine("Loaded Image Name: " + Module.LoadedImageName);
                manager.WriteLine("Mapped Image Name: " + Module.MappedImageName);
                manager.WriteLine("Module name: " + Module.ModuleName);
                manager.WriteLine("Single Threaded: " + Module.SingleThreaded.ToString());
                manager.WriteLine("Size: " + Module.Size.ToString());
                manager.WriteLine("Symbol File Name: " + Module.SymbolFileName);
                manager.WriteLine("Symbol Type: " + Module.SymbolType);
                manager.WriteLine("Time Stamp: " + Module.TimeStamp);
                manager.WriteLine("Comments: " + Module.VSComments);
                manager.WriteLine("Company Name: " + Module.VSCompanyName);
                manager.WriteLine("File Description: " + Module.VSFileDescription);
                manager.WriteLine("File Version: " + Module.VSFileVersion);
                manager.WriteLine("Internal Name: " + Module.VSInternalName);
                manager.WriteLine("Legal Copyright: " + Module.VSLegalCopyright);
                manager.WriteLine("Legal Trademarks: " + Module.VSLegalTrademarks);
                manager.WriteLine("Original filename: " + Module.VSOriginalFilename);
                manager.WriteLine("Private Build: " + Module.VSPrivateBuild);
                manager.WriteLine("Product Name: " + Module.VSProductName);
                manager.WriteLine("Product Version: " + Module.VSProductVersion);
                manager.WriteLine("Special Build: " + Module.VSSpecialBuild);
            }
        }
    }
 }
}
See Also
IDbgModule Members
DebugDiag.DbgLib Namespace


IDbgModule Members

IDbgModule Members Debug Diagnostics Tool 2.1 DebugDiag

The IDbgModule type exposes the following members.
Methods
 | Name | Description
Public method | GetFileVersion | This method is used to retrieve the Major, Minor, Build, and Version number of the module.
Public method | GetProductVersion | This method is used to retrieve the Major, Minor, Build, and Version number of the product.
Back to Top
Properties
 | Name | Description
Public property | Base | This property returns the base address for this module.
Public property | Checksum | This property returns the Checksum value for this module.
Public property | ExportsInfo | This property returns a ExportsInfo object. The returned object can be used to determine what functions this module exports.For more information about the ExportsInfo object see IExportsInfo interface help.
Public property | ImageName | This property returns the name of the module.
Public property | ImportsInfo | This property returns a ImportsInfo object. The returned object can be used to determine what functions this module imports. For more information about the ImportsInfo object see IImportsInfo interface help.
Public property | Index | This property returns the index of this module in the ModuleInfo object.
Public property | IsCOMDLL | This property returns True if the module is a COM DLL, otherwise it returns False.
Public property | IsISAPIExtension | This property returns True if the module is an ISAPI Extension, otherwise it returns False.
Public property | IsISAPIFilter | This property returns True if the module is an ISAPI Filter, otherwise it returns False.
Public property | IsManaged | This property returns True if the module is a .NET managed module, otherwise it returns False.
Public property | IsVBModule | This property returns True if this module is a Visual Basic DLL, otherwise it returns False.
Public property | LoadedImageName | This property returns the name of the loaded image if one is loaded. This value will be empty if the debugger has not loaded an image for this module.
Public property | MappedImageName | This property returns the name of the mapped image if one is loaded. This value will be empty if the debugger has not mapped an image for this module.
Public property | ModuleName | This property returns the module name associated with this DbgModule object.
Public property | RetainedInMemory | This property returns True if the module has the Retain in Memory options set, otherwise it returns False. This property should only be examined if the IsVBModule property returns True.
Public property | SingleThreaded | This property returns True if the module is single threaded, otherwise it returns False. This property should only be examined if the IsVBModule property returns True.
Public property | Size | This property returns the size of the module.
Public property | SymbolFileName | This property returns the path and filename of the symbols loaded for this module.
Public property | SymbolType | This property returns a string indicating the type of symbol loaded. The string will be one of the following values. None COFF CodeView PDB Export Deferred SYM DIA Unknown
Public property | TimeStamp | This property returns the date and time stamp of the module.
Public property | UnattendedExecution | This property returns True if the module has the unattended execution options set, otherwise it returns False. This property should only be examined if the IsVBModule property returns True.
Public property | VSComments | This property returns the version specific comments for this module.
Public property | VSCompanyName | This property returns the version specific company name for this module.
Public property | VSFileDescription | This property returns the version specific file description for this module.
Public property | VSFileVersion | This property returns the version specific file version for this module.
Public property | VSInternalName | This property returns the version specific internal name for this module.
Public property | VSLegalCopyright | This property returns the version specific legal copyright information for this module.
Public property | VSLegalTrademarks | This property returns the version specific legal trademarks information for this module.
Public property | VSOriginalFilename | This property returns the version specific original filename for this module.
Public property | VSPrivateBuild | This property returns the version specific private build information for this module.
Public property | VSProductName | This property returns the version specific product name for this module.
Public property | VSProductVersion | This property returns the version specific product version for this module.
Public property | VSSpecialBuild | This property returns the version specific special build information for this module.
Back to Top
See Also
IDbgModule Interface
DebugDiag.DbgLib Namespace


IDbgModule Methods

IDbgModule Methods Debug Diagnostics Tool 2.1 DebugDiag
The IDbgModule type exposes the following members.
Methods
 | Name | Description
Public method | GetFileVersion | This method is used to retrieve the Major, Minor, Build, and Version number of the module.
Public method | GetProductVersion | This method is used to retrieve the Major, Minor, Build, and Version number of the product.
Back to Top
See Also
IDbgModule Interface
DebugDiag.DbgLib Namespace


GetFileVersion Method

IDbgModule GetFileVersion Method Debug Diagnostics Tool 2.1 DebugDiag
This method is used to retrieve the Major, Minor, Build, and Version number of the module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
void GetFileVersion(
    out Object Major,
    out Object Minor,
    out Object Build,
    out Object Private
)
void GetFileVersion(
    out Object Major,
    out Object Minor,
    out Object Build,
    out Object Private
)
Sub GetFileVersion ( _
    <OutAttribute> ByRef Major As Object, _
    <OutAttribute> ByRef Minor As Object, _
    <OutAttribute> ByRef Build As Object, _
    <OutAttribute> ByRef Private As Object _
)
Sub GetFileVersion ( _
    <OutAttribute> ByRef Major As Object, _
    <OutAttribute> ByRef Minor As Object, _
    <OutAttribute> ByRef Build As Object, _
    <OutAttribute> ByRef Private As Object _
)
void GetFileVersion(
    [OutAttribute] Object^% Major,
    [OutAttribute] Object^% Minor,
    [OutAttribute] Object^% Build,
    [OutAttribute] Object^% Private
)
void GetFileVersion(
    [OutAttribute] Object^% Major,
    [OutAttribute] Object^% Minor,
    [OutAttribute] Object^% Build,
    [OutAttribute] Object^% Private
)
Parameters
Major
Type:   Online System Object
Output parameter with the Major version number
Minor
Type:   Online System Object
Output parameter with the Minor version number
Build
Type:   Online System Object
Output parameter with the Build number
Private
Type:   Online System Object
Output parameter with the Version version number
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


GetProductVersion Method

IDbgModule GetProductVersion Method Debug Diagnostics Tool 2.1 DebugDiag
This method is used to retrieve the Major, Minor, Build, and Version number of the product.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
void GetProductVersion(
    out Object Major,
    out Object Minor,
    out Object Build,
    out Object Private
)
void GetProductVersion(
    out Object Major,
    out Object Minor,
    out Object Build,
    out Object Private
)
Sub GetProductVersion ( _
    <OutAttribute> ByRef Major As Object, _
    <OutAttribute> ByRef Minor As Object, _
    <OutAttribute> ByRef Build As Object, _
    <OutAttribute> ByRef Private As Object _
)
Sub GetProductVersion ( _
    <OutAttribute> ByRef Major As Object, _
    <OutAttribute> ByRef Minor As Object, _
    <OutAttribute> ByRef Build As Object, _
    <OutAttribute> ByRef Private As Object _
)
void GetProductVersion(
    [OutAttribute] Object^% Major,
    [OutAttribute] Object^% Minor,
    [OutAttribute] Object^% Build,
    [OutAttribute] Object^% Private
)
void GetProductVersion(
    [OutAttribute] Object^% Major,
    [OutAttribute] Object^% Minor,
    [OutAttribute] Object^% Build,
    [OutAttribute] Object^% Private
)
Parameters
Major
Type:   Online System Object
Output parameter with the Major version number
Minor
Type:   Online System Object
Output parameter with the Minor version number
Build
Type:   Online System Object
Output parameter with the Build number
Private
Type:   Online System Object
Output parameter with the Version version number
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


IDbgModule Properties

IDbgModule Properties Debug Diagnostics Tool 2.1 DebugDiag
The IDbgModule type exposes the following members.
Properties
 | Name | Description
Public property | Base | This property returns the base address for this module.
Public property | Checksum | This property returns the Checksum value for this module.
Public property | ExportsInfo | This property returns a ExportsInfo object. The returned object can be used to determine what functions this module exports.For more information about the ExportsInfo object see IExportsInfo interface help.
Public property | ImageName | This property returns the name of the module.
Public property | ImportsInfo | This property returns a ImportsInfo object. The returned object can be used to determine what functions this module imports. For more information about the ImportsInfo object see IImportsInfo interface help.
Public property | Index | This property returns the index of this module in the ModuleInfo object.
Public property | IsCOMDLL | This property returns True if the module is a COM DLL, otherwise it returns False.
Public property | IsISAPIExtension | This property returns True if the module is an ISAPI Extension, otherwise it returns False.
Public property | IsISAPIFilter | This property returns True if the module is an ISAPI Filter, otherwise it returns False.
Public property | IsManaged | This property returns True if the module is a .NET managed module, otherwise it returns False.
Public property | IsVBModule | This property returns True if this module is a Visual Basic DLL, otherwise it returns False.
Public property | LoadedImageName | This property returns the name of the loaded image if one is loaded. This value will be empty if the debugger has not loaded an image for this module.
Public property | MappedImageName | This property returns the name of the mapped image if one is loaded. This value will be empty if the debugger has not mapped an image for this module.
Public property | ModuleName | This property returns the module name associated with this DbgModule object.
Public property | RetainedInMemory | This property returns True if the module has the Retain in Memory options set, otherwise it returns False. This property should only be examined if the IsVBModule property returns True.
Public property | SingleThreaded | This property returns True if the module is single threaded, otherwise it returns False. This property should only be examined if the IsVBModule property returns True.
Public property | Size | This property returns the size of the module.
Public property | SymbolFileName | This property returns the path and filename of the symbols loaded for this module.
Public property | SymbolType | This property returns a string indicating the type of symbol loaded. The string will be one of the following values. None COFF CodeView PDB Export Deferred SYM DIA Unknown
Public property | TimeStamp | This property returns the date and time stamp of the module.
Public property | UnattendedExecution | This property returns True if the module has the unattended execution options set, otherwise it returns False. This property should only be examined if the IsVBModule property returns True.
Public property | VSComments | This property returns the version specific comments for this module.
Public property | VSCompanyName | This property returns the version specific company name for this module.
Public property | VSFileDescription | This property returns the version specific file description for this module.
Public property | VSFileVersion | This property returns the version specific file version for this module.
Public property | VSInternalName | This property returns the version specific internal name for this module.
Public property | VSLegalCopyright | This property returns the version specific legal copyright information for this module.
Public property | VSLegalTrademarks | This property returns the version specific legal trademarks information for this module.
Public property | VSOriginalFilename | This property returns the version specific original filename for this module.
Public property | VSPrivateBuild | This property returns the version specific private build information for this module.
Public property | VSProductName | This property returns the version specific product name for this module.
Public property | VSProductVersion | This property returns the version specific product version for this module.
Public property | VSSpecialBuild | This property returns the version specific special build information for this module.
Back to Top
See Also
IDbgModule Interface
DebugDiag.DbgLib Namespace


Base Property

IDbgModule Base Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the base address for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
double Base { get; }
double Base { get; }
ReadOnly Property Base As Double
    Get
ReadOnly Property Base As Double
    Get
property double Base {
    double get ();
}
property double Base {
    double get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


Checksum Property

IDbgModule Checksum Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the Checksum value for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
double Checksum { get; }
double Checksum { get; }
ReadOnly Property Checksum As Double
    Get
ReadOnly Property Checksum As Double
    Get
property double Checksum {
    double get ();
}
property double Checksum {
    double get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


ExportsInfo Property

IDbgModule ExportsInfo Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a ExportsInfo object. The returned object can be used to determine what functions this module exports.For more information about the ExportsInfo object see IExportsInfo interface help.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IExportsInfo ExportsInfo { get; }
IExportsInfo ExportsInfo { get; }
ReadOnly Property ExportsInfo As IExportsInfo
    Get
ReadOnly Property ExportsInfo As IExportsInfo
    Get
property IExportsInfo^ ExportsInfo {
    IExportsInfo^ get ();
}
property IExportsInfo^ ExportsInfo {
    IExportsInfo^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


ImageName Property

IDbgModule ImageName Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the name of the module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string ImageName { get; }
string ImageName { get; }
ReadOnly Property ImageName As String
    Get
ReadOnly Property ImageName As String
    Get
property String^ ImageName {
    String^ get ();
}
property String^ ImageName {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


ImportsInfo Property

IDbgModule ImportsInfo Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a ImportsInfo object. The returned object can be used to determine what functions this module imports. For more information about the ImportsInfo object see IImportsInfo interface help.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IImportsInfo ImportsInfo { get; }
IImportsInfo ImportsInfo { get; }
ReadOnly Property ImportsInfo As IImportsInfo
    Get
ReadOnly Property ImportsInfo As IImportsInfo
    Get
property IImportsInfo^ ImportsInfo {
    IImportsInfo^ get ();
}
property IImportsInfo^ ImportsInfo {
    IImportsInfo^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


Index Property

IDbgModule Index Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the index of this module in the ModuleInfo object.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int Index { get; }
int Index { get; }
ReadOnly Property Index As Integer
    Get
ReadOnly Property Index As Integer
    Get
property int Index {
    int get ();
}
property int Index {
    int get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


IsCOMDLL Property

IDbgModule IsCOMDLL Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns True if the module is a COM DLL, otherwise it returns False.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
bool IsCOMDLL { get; }
bool IsCOMDLL { get; }
ReadOnly Property IsCOMDLL As Boolean
    Get
ReadOnly Property IsCOMDLL As Boolean
    Get
property bool IsCOMDLL {
    bool get ();
}
property bool IsCOMDLL {
    bool get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


IsISAPIExtension Property

IDbgModule IsISAPIExtension Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns True if the module is an ISAPI Extension, otherwise it returns False.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
bool IsISAPIExtension { get; }
bool IsISAPIExtension { get; }
ReadOnly Property IsISAPIExtension As Boolean
    Get
ReadOnly Property IsISAPIExtension As Boolean
    Get
property bool IsISAPIExtension {
    bool get ();
}
property bool IsISAPIExtension {
    bool get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


IsISAPIFilter Property

IDbgModule IsISAPIFilter Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns True if the module is an ISAPI Filter, otherwise it returns False.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
bool IsISAPIFilter { get; }
bool IsISAPIFilter { get; }
ReadOnly Property IsISAPIFilter As Boolean
    Get
ReadOnly Property IsISAPIFilter As Boolean
    Get
property bool IsISAPIFilter {
    bool get ();
}
property bool IsISAPIFilter {
    bool get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


IsManaged Property

IDbgModule IsManaged Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns True if the module is a .NET managed module, otherwise it returns False.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
bool IsManaged { get; }
bool IsManaged { get; }
ReadOnly Property IsManaged As Boolean
    Get
ReadOnly Property IsManaged As Boolean
    Get
property bool IsManaged {
    bool get ();
}
property bool IsManaged {
    bool get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


IsVBModule Property

IDbgModule IsVBModule Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns True if this module is a Visual Basic DLL, otherwise it returns False.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
bool IsVBModule { get; }
bool IsVBModule { get; }
ReadOnly Property IsVBModule As Boolean
    Get
ReadOnly Property IsVBModule As Boolean
    Get
property bool IsVBModule {
    bool get ();
}
property bool IsVBModule {
    bool get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


LoadedImageName Property

IDbgModule LoadedImageName Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the name of the loaded image if one is loaded. This value will be empty if the debugger has not loaded an image for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string LoadedImageName { get; }
string LoadedImageName { get; }
ReadOnly Property LoadedImageName As String
    Get
ReadOnly Property LoadedImageName As String
    Get
property String^ LoadedImageName {
    String^ get ();
}
property String^ LoadedImageName {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


MappedImageName Property

IDbgModule MappedImageName Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the name of the mapped image if one is loaded. This value will be empty if the debugger has not mapped an image for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string MappedImageName { get; }
string MappedImageName { get; }
ReadOnly Property MappedImageName As String
    Get
ReadOnly Property MappedImageName As String
    Get
property String^ MappedImageName {
    String^ get ();
}
property String^ MappedImageName {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


ModuleName Property

IDbgModule ModuleName Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the module name associated with this DbgModule object.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string ModuleName { get; }
string ModuleName { get; }
ReadOnly Property ModuleName As String
    Get
ReadOnly Property ModuleName As String
    Get
property String^ ModuleName {
    String^ get ();
}
property String^ ModuleName {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


RetainedInMemory Property

IDbgModule RetainedInMemory Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns True if the module has the Retain in Memory options set, otherwise it returns False. This property should only be examined if the IsVBModule property returns True.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
bool RetainedInMemory { get; }
bool RetainedInMemory { get; }
ReadOnly Property RetainedInMemory As Boolean
    Get
ReadOnly Property RetainedInMemory As Boolean
    Get
property bool RetainedInMemory {
    bool get ();
}
property bool RetainedInMemory {
    bool get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


SingleThreaded Property

IDbgModule SingleThreaded Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns True if the module is single threaded, otherwise it returns False. This property should only be examined if the IsVBModule property returns True.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
bool SingleThreaded { get; }
bool SingleThreaded { get; }
ReadOnly Property SingleThreaded As Boolean
    Get
ReadOnly Property SingleThreaded As Boolean
    Get
property bool SingleThreaded {
    bool get ();
}
property bool SingleThreaded {
    bool get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


Size Property

IDbgModule Size Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the size of the module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
double Size { get; }
double Size { get; }
ReadOnly Property Size As Double
    Get
ReadOnly Property Size As Double
    Get
property double Size {
    double get ();
}
property double Size {
    double get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


SymbolFileName Property

IDbgModule SymbolFileName Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the path and filename of the symbols loaded for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string SymbolFileName { get; }
string SymbolFileName { get; }
ReadOnly Property SymbolFileName As String
    Get
ReadOnly Property SymbolFileName As String
    Get
property String^ SymbolFileName {
    String^ get ();
}
property String^ SymbolFileName {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


SymbolType Property

IDbgModule SymbolType Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a string indicating the type of symbol loaded. The string will be one of the following values. None COFF CodeView PDB Export Deferred SYM DIA Unknown

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string SymbolType { get; }
string SymbolType { get; }
ReadOnly Property SymbolType As String
    Get
ReadOnly Property SymbolType As String
    Get
property String^ SymbolType {
    String^ get ();
}
property String^ SymbolType {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


TimeStamp Property

IDbgModule TimeStamp Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the date and time stamp of the module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string TimeStamp { get; }
string TimeStamp { get; }
ReadOnly Property TimeStamp As String
    Get
ReadOnly Property TimeStamp As String
    Get
property String^ TimeStamp {
    String^ get ();
}
property String^ TimeStamp {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


UnattendedExecution Property

IDbgModule UnattendedExecution Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns True if the module has the unattended execution options set, otherwise it returns False. This property should only be examined if the IsVBModule property returns True.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
bool UnattendedExecution { get; }
bool UnattendedExecution { get; }
ReadOnly Property UnattendedExecution As Boolean
    Get
ReadOnly Property UnattendedExecution As Boolean
    Get
property bool UnattendedExecution {
    bool get ();
}
property bool UnattendedExecution {
    bool get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


VSComments Property

IDbgModule VSComments Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version specific comments for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string VSComments { get; }
string VSComments { get; }
ReadOnly Property VSComments As String
    Get
ReadOnly Property VSComments As String
    Get
property String^ VSComments {
    String^ get ();
}
property String^ VSComments {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


VSCompanyName Property

IDbgModule VSCompanyName Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version specific company name for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string VSCompanyName { get; }
string VSCompanyName { get; }
ReadOnly Property VSCompanyName As String
    Get
ReadOnly Property VSCompanyName As String
    Get
property String^ VSCompanyName {
    String^ get ();
}
property String^ VSCompanyName {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


VSFileDescription Property

IDbgModule VSFileDescription Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version specific file description for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string VSFileDescription { get; }
string VSFileDescription { get; }
ReadOnly Property VSFileDescription As String
    Get
ReadOnly Property VSFileDescription As String
    Get
property String^ VSFileDescription {
    String^ get ();
}
property String^ VSFileDescription {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


VSFileVersion Property

IDbgModule VSFileVersion Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version specific file version for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string VSFileVersion { get; }
string VSFileVersion { get; }
ReadOnly Property VSFileVersion As String
    Get
ReadOnly Property VSFileVersion As String
    Get
property String^ VSFileVersion {
    String^ get ();
}
property String^ VSFileVersion {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


VSInternalName Property

IDbgModule VSInternalName Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version specific internal name for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string VSInternalName { get; }
string VSInternalName { get; }
ReadOnly Property VSInternalName As String
    Get
ReadOnly Property VSInternalName As String
    Get
property String^ VSInternalName {
    String^ get ();
}
property String^ VSInternalName {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


VSLegalCopyright Property

IDbgModule VSLegalCopyright Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version specific legal copyright information for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string VSLegalCopyright { get; }
string VSLegalCopyright { get; }
ReadOnly Property VSLegalCopyright As String
    Get
ReadOnly Property VSLegalCopyright As String
    Get
property String^ VSLegalCopyright {
    String^ get ();
}
property String^ VSLegalCopyright {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


VSLegalTrademarks Property

IDbgModule VSLegalTrademarks Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version specific legal trademarks information for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string VSLegalTrademarks { get; }
string VSLegalTrademarks { get; }
ReadOnly Property VSLegalTrademarks As String
    Get
ReadOnly Property VSLegalTrademarks As String
    Get
property String^ VSLegalTrademarks {
    String^ get ();
}
property String^ VSLegalTrademarks {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


VSOriginalFilename Property

IDbgModule VSOriginalFilename Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version specific original filename for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string VSOriginalFilename { get; }
string VSOriginalFilename { get; }
ReadOnly Property VSOriginalFilename As String
    Get
ReadOnly Property VSOriginalFilename As String
    Get
property String^ VSOriginalFilename {
    String^ get ();
}
property String^ VSOriginalFilename {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


VSPrivateBuild Property

IDbgModule VSPrivateBuild Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version specific private build information for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string VSPrivateBuild { get; }
string VSPrivateBuild { get; }
ReadOnly Property VSPrivateBuild As String
    Get
ReadOnly Property VSPrivateBuild As String
    Get
property String^ VSPrivateBuild {
    String^ get ();
}
property String^ VSPrivateBuild {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


VSProductName Property

IDbgModule VSProductName Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version specific product name for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string VSProductName { get; }
string VSProductName { get; }
ReadOnly Property VSProductName As String
    Get
ReadOnly Property VSProductName As String
    Get
property String^ VSProductName {
    String^ get ();
}
property String^ VSProductName {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


VSProductVersion Property

IDbgModule VSProductVersion Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version specific product version for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string VSProductVersion { get; }
string VSProductVersion { get; }
ReadOnly Property VSProductVersion As String
    Get
ReadOnly Property VSProductVersion As String
    Get
property String^ VSProductVersion {
    String^ get ();
}
property String^ VSProductVersion {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


VSSpecialBuild Property

IDbgModule VSSpecialBuild Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version specific special build information for this module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string VSSpecialBuild { get; }
string VSSpecialBuild { get; }
ReadOnly Property VSSpecialBuild As String
    Get
ReadOnly Property VSSpecialBuild As String
    Get
property String^ VSSpecialBuild {
    String^ get ();
}
property String^ VSSpecialBuild {
    String^ get ();
}
See Also
IDbgModule Interface
IDbgModule Members
DebugDiag.DbgLib Namespace


IDbgState Interface

IDbgState Interface Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IDbgState
public interface IDbgState
Public Interface IDbgState
Public Interface IDbgState
public interface class IDbgState
public interface class IDbgState
See Also
IDbgState Members
DebugDiag.DbgLib Namespace


IDbgState Members

IDbgState Members Debug Diagnostics Tool 2.1 DebugDiag

The IDbgState type exposes the following members.
Methods
 | Name | Description
Public method | let_Value | This method allows the user to store a value on the collection using a unique key parameter
Public method | Remove | This method removes the specified key value pair from the property bag.
Public method | RemoveAll | This method removes all of the specified key value pairs from the property bag.
Back to Top
Properties
 | Name | Description
Public property | Item | This method returns an object represented by the Key value in the collection.
Back to Top
See Also
IDbgState Interface
DebugDiag.DbgLib Namespace


IDbgState Methods

IDbgState Methods Debug Diagnostics Tool 2.1 DebugDiag
The IDbgState type exposes the following members.
Methods
 | Name | Description
Public method | let_Value | This method allows the user to store a value on the collection using a unique key parameter
Public method | Remove | This method removes the specified key value pair from the property bag.
Public method | RemoveAll | This method removes all of the specified key value pairs from the property bag.
Back to Top
See Also
IDbgState Interface
DebugDiag.DbgLib Namespace


let_Value Method

IDbgState let_Value Method Debug Diagnostics Tool 2.1 DebugDiag
This method allows the user to store a value on the collection using a unique key parameter

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
void let_Value(
    string Key,
    Object pVal
)
void let_Value(
    string Key,
    Object pVal
)
Sub let_Value ( _
    Key As String, _
    pVal As Object _
)
Sub let_Value ( _
    Key As String, _
    pVal As Object _
)
void let_Value(
    [InAttribute] String^ Key,
    [InAttribute] Object^ pVal
)
void let_Value(
    [InAttribute] String^ Key,
    [InAttribute] Object^ pVal
)
Parameters
Key
Type:   Online System String
String key that represents the value being stored on the collection
pVal
Type:   Online System Object
Value to store
See Also
IDbgState Interface
IDbgState Members
DebugDiag.DbgLib Namespace


Remove Method

IDbgState Remove Method Debug Diagnostics Tool 2.1 DebugDiag
This method removes the specified key value pair from the property bag.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
void Remove(
    string Key
)
void Remove(
    string Key
)
Sub Remove ( _
    Key As String _
)
Sub Remove ( _
    Key As String _
)
void Remove(
    [InAttribute] String^ Key
)
void Remove(
    [InAttribute] String^ Key
)
Parameters
Key
Type:   Online System String
String key that represents the value stored
See Also
IDbgState Interface
IDbgState Members
DebugDiag.DbgLib Namespace


RemoveAll Method

IDbgState RemoveAll Method Debug Diagnostics Tool 2.1 DebugDiag
This method removes all of the specified key value pairs from the property bag.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
void RemoveAll()
void RemoveAll()
Sub RemoveAll
Sub RemoveAll
void RemoveAll()
void RemoveAll()
See Also
IDbgState Interface
IDbgState Members
DebugDiag.DbgLib Namespace


IDbgState Properties

IDbgState Properties Debug Diagnostics Tool 2.1 DebugDiag
The IDbgState type exposes the following members.
Properties
 | Name | Description
Public property | Item | This method returns an object represented by the Key value in the collection.
Back to Top
See Also
IDbgState Interface
DebugDiag.DbgLib Namespace


Item Property

IDbgState Item Property Debug Diagnostics Tool 2.1 DebugDiag
This method returns an object represented by the Key value in the collection.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
Object this[
    string Key
] { get; set; }
Object this[
    string Key
] { get; set; }
Default Property Item ( _
    Key As String _
) As Object
    Get
    Set
Default Property Item ( _
    Key As String _
) As Object
    Get
    Set
property Object^ default[String^ Key] {
    Object^ get (String^ Key);
    void set (String^ Key, Object^ value);
}
property Object^ default[String^ Key] {
    Object^ get (String^ Key);
    void set (String^ Key, Object^ value);
}
Parameters
Key
Type:   Online System String
String representing the key for the object on the collection
Return Value
Returns an Object for the object found using the key parameter
See Also
IDbgState Interface
IDbgState Members
DebugDiag.DbgLib Namespace


IEnvironmentVariables Interface

IEnvironmentVariables Interface Debug Diagnostics Tool 2.1 DebugDiag
This is the interface implemented by a COM object that maintains a collection of environment variables that are associated with the debugger instance. An instance of this object is obtained from the NetDbgObj.EnvironmentVariables property.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IEnvironmentVariables : IEnumerable
public interface IEnvironmentVariables : IEnumerable
Public Interface IEnvironmentVariables _
    Inherits IEnumerable
Public Interface IEnvironmentVariables _
    Inherits IEnumerable
public interface class IEnvironmentVariables : IEnumerable
public interface class IEnvironmentVariables : IEnumerable
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class ImplementedRule : IHangDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetDbgObj debugger, NetProgress progress)
 {
     DebugDiag.DbgLib.IEnvironmentVariables EnvironmentVars = debugger.EnvironmentVariables;

     manager.WriteLine("Environment Variables: </BR>");

     foreach (dynamic StringVar in EnvironmentVars)
     {
         manager.WriteLine(StringVar.ToString());
     }
  }
}
public class ImplementedRule : IHangDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetDbgObj debugger, NetProgress progress)
 {
     DebugDiag.DbgLib.IEnvironmentVariables EnvironmentVars = debugger.EnvironmentVariables;

     manager.WriteLine("Environment Variables: </BR>");

     foreach (dynamic StringVar in EnvironmentVars)
     {
         manager.WriteLine(StringVar.ToString());
     }
  }
}
See Also
IEnvironmentVariables Members
DebugDiag.DbgLib Namespace


IEnvironmentVariables Members

IEnvironmentVariables Members Debug Diagnostics Tool 2.1 DebugDiag

The IEnvironmentVariables type exposes the following members.
Methods
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of environment variables
Back to Top
Properties
 | Name | Description
Public property | Count | Returns the number of environment variables maintained by this collection.
Public property | Item | Returns the value of the environment variable as a string based on the index passed into the property.
Back to Top
See Also
IEnvironmentVariables Interface
DebugDiag.DbgLib Namespace


IEnvironmentVariables Methods

IEnvironmentVariables Methods Debug Diagnostics Tool 2.1 DebugDiag
Methods
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of environment variables
Back to Top
See Also
IEnvironmentVariables Interface
DebugDiag.DbgLib Namespace


GetEnumerator Method

IEnvironmentVariables GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of environment variables
Back to Top
See Also
IEnvironmentVariables Interface
IEnvironmentVariables Members
DebugDiag.DbgLib Namespace


GetEnumerator Method

IEnvironmentVariables GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
This method gives access to the enumerator for the collection of environment variables

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IEnumerator GetEnumerator()
IEnumerator GetEnumerator()
Function GetEnumerator As IEnumerator
Function GetEnumerator As IEnumerator
IEnumerator^ GetEnumerator()
IEnumerator^ GetEnumerator()
Return Value
Enumrator that implements the IEnumerator .Net interface.
Implements
  Online IEnumerable GetEnumerator
See Also
IEnvironmentVariables Interface
IEnvironmentVariables Members
GetEnumerator Overload
DebugDiag.DbgLib Namespace


IEnvironmentVariables Properties

IEnvironmentVariables Properties Debug Diagnostics Tool 2.1 DebugDiag
The IEnvironmentVariables type exposes the following members.
Properties
 | Name | Description
Public property | Count | Returns the number of environment variables maintained by this collection.
Public property | Item | Returns the value of the environment variable as a string based on the index passed into the property.
Back to Top
See Also
IEnvironmentVariables Interface
DebugDiag.DbgLib Namespace


Count Property

IEnvironmentVariables Count Property Debug Diagnostics Tool 2.1 DebugDiag
Returns the number of environment variables maintained by this collection.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int Count { get; }
int Count { get; }
ReadOnly Property Count As Integer
    Get
ReadOnly Property Count As Integer
    Get
property int Count {
    int get ();
}
property int Count {
    int get ();
}
See Also
IEnvironmentVariables Interface
IEnvironmentVariables Members
DebugDiag.DbgLib Namespace


Item Property

IEnvironmentVariables Item Property Debug Diagnostics Tool 2.1 DebugDiag
Returns the value of the environment variable as a string based on the index passed into the property.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string this[
    Object Index
] { get; }
string this[
    Object Index
] { get; }
ReadOnly Default Property Item ( _
    Index As Object _
) As String
    Get
ReadOnly Default Property Item ( _
    Index As Object _
) As String
    Get
property String^ default[Object^ Index] {
    String^ get (Object^ Index);
}
property String^ default[Object^ Index] {
    String^ get (Object^ Index);
}
Parameters
Index
Type:   Online System Object
>The method takes an integer that is a zero based index of the Environment Variable to retrieve.
Return Value
String with the name and value of the Environment Variable
See Also
IEnvironmentVariables Interface
IEnvironmentVariables Members
DebugDiag.DbgLib Namespace


IExportsInfo Interface

IExportsInfo Interface Debug Diagnostics Tool 2.1 DebugDiag
This is the interface implemented by a COM object that maintains a collection of ExportSymbol objects for a specific DLL module in the dump file. An instance of this object is obtained from the IDbgModule.ExportsInfo property. For more information about the ExportSymbol COM object please see IExportSymbol interface documentation.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IExportsInfo : IEnumerable
public interface IExportsInfo : IEnumerable
Public Interface IExportsInfo _
    Inherits IEnumerable
Public Interface IExportsInfo _
    Inherits IEnumerable
public interface class IExportsInfo : IEnumerable
public interface class IExportsInfo : IEnumerable
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class ImplementedRule : IMultiDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetProgress progress)
 {
    //Create a list of dumps that will be analyzed
    List<string> dumpFiles = new List<string>();

    dumpFiles = manager.GetDumpFiles();

    foreach (string dump in dumpFiles)
    {
        using (NetDbgObj debugger = manager.GetDebugger(dump))
        {
            DebugDiag.DbgLib.IDbgModule Module = debugger.GetModuleByModuleName("clr");

            if (Module == null)
            {
                manager.WriteLine("Unable to obtain Module object for clr.dll");
            }
            else
            {
                 manager.WriteLine("Export information for  " + Module.ImageName + "</BR\>");

                 DebugDiag.DbgLib.IExportsInfo ExportInfo = Module.ExportsInfo;

                 foreach (dynamic Symbol in ExportInfo)
                 {
                     manager.WriteLine( "SymbolName: " + Symbol.SymbolName);
                     manager.WriteLine( "Address: " + debugger.GetAs32BitHexString(Symbol.Address));
                     manager.WriteLine( "Ordinal: " + Symbol.Ordinal.ToString());
                     manager.WriteLine("RVA: " + debugger.GetAs32BitHexString(Symbol.RVA) +"</BR>");

                 }
             }
        }
    }
 }
}
public class ImplementedRule : IMultiDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetProgress progress)
 {
    //Create a list of dumps that will be analyzed
    List<string> dumpFiles = new List<string>();

    dumpFiles = manager.GetDumpFiles();

    foreach (string dump in dumpFiles)
    {
        using (NetDbgObj debugger = manager.GetDebugger(dump))
        {
            DebugDiag.DbgLib.IDbgModule Module = debugger.GetModuleByModuleName("clr");

            if (Module == null)
            {
                manager.WriteLine("Unable to obtain Module object for clr.dll");
            }
            else
            {
                 manager.WriteLine("Export information for  " + Module.ImageName + "</BR\>");

                 DebugDiag.DbgLib.IExportsInfo ExportInfo = Module.ExportsInfo;

                 foreach (dynamic Symbol in ExportInfo)
                 {
                     manager.WriteLine( "SymbolName: " + Symbol.SymbolName);
                     manager.WriteLine( "Address: " + debugger.GetAs32BitHexString(Symbol.Address));
                     manager.WriteLine( "Ordinal: " + Symbol.Ordinal.ToString());
                     manager.WriteLine("RVA: " + debugger.GetAs32BitHexString(Symbol.RVA) +"</BR>");

                 }
             }
        }
    }
 }
}
See Also
IExportsInfo Members
DebugDiag.DbgLib Namespace


IExportsInfo Members

IExportsInfo Members Debug Diagnostics Tool 2.1 DebugDiag

The IExportsInfo type exposes the following members.
Methods
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of ExportSymbol COM objects
Back to Top
Properties
 | Name | Description
Public property | Count | Returns the number of ExportSymbol COM objects maintained by this collection
Public property | Item | Returns an instance of a ExportSymbol COM object based on the index passed into the property.
Back to Top
See Also
IExportsInfo Interface
DebugDiag.DbgLib Namespace


IExportsInfo Methods

IExportsInfo Methods Debug Diagnostics Tool 2.1 DebugDiag
Methods
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of ExportSymbol COM objects
Back to Top
See Also
IExportsInfo Interface
DebugDiag.DbgLib Namespace


GetEnumerator Method

IExportsInfo GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of ExportSymbol COM objects
Back to Top
See Also
IExportsInfo Interface
IExportsInfo Members
DebugDiag.DbgLib Namespace


GetEnumerator Method

IExportsInfo GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
This method gives access to the enumerator for the collection of ExportSymbol COM objects

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IEnumerator GetEnumerator()
IEnumerator GetEnumerator()
Function GetEnumerator As IEnumerator
Function GetEnumerator As IEnumerator
IEnumerator^ GetEnumerator()
IEnumerator^ GetEnumerator()
Return Value
Enumrator that implements the IEnumerator .Net interface.
Implements
  Online IEnumerable GetEnumerator
See Also
IExportsInfo Interface
IExportsInfo Members
GetEnumerator Overload
DebugDiag.DbgLib Namespace


IExportsInfo Properties

IExportsInfo Properties Debug Diagnostics Tool 2.1 DebugDiag
The IExportsInfo type exposes the following members.
Properties
 | Name | Description
Public property | Count | Returns the number of ExportSymbol COM objects maintained by this collection
Public property | Item | Returns an instance of a ExportSymbol COM object based on the index passed into the property.
Back to Top
See Also
IExportsInfo Interface
DebugDiag.DbgLib Namespace


Count Property

IExportsInfo Count Property Debug Diagnostics Tool 2.1 DebugDiag
Returns the number of ExportSymbol COM objects maintained by this collection

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int Count { get; }
int Count { get; }
ReadOnly Property Count As Integer
    Get
ReadOnly Property Count As Integer
    Get
property int Count {
    int get ();
}
property int Count {
    int get ();
}
See Also
IExportsInfo Interface
IExportsInfo Members
DebugDiag.DbgLib Namespace


Item Property

IExportsInfo Item Property Debug Diagnostics Tool 2.1 DebugDiag
Returns an instance of a ExportSymbol COM object based on the index passed into the property.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IExportSymbol this[
    int Index
] { get; }
IExportSymbol this[
    int Index
] { get; }
ReadOnly Default Property Item ( _
    Index As Integer _
) As IExportSymbol
    Get
ReadOnly Default Property Item ( _
    Index As Integer _
) As IExportSymbol
    Get
property IExportSymbol^ default[int Index] {
    IExportSymbol^ get (int Index);
}
property IExportSymbol^ default[int Index] {
    IExportSymbol^ get (int Index);
}
Parameters
Index
Type:   Online System Int32
Return Value
See Also
IExportsInfo Interface
IExportsInfo Members
DebugDiag.DbgLib Namespace


IExportSymbol Interface

IExportSymbol Interface Debug Diagnostics Tool 2.1 DebugDiag
This is the interface implemented by a COM object that contains information about a single exported symbol of a DLL modules exported symbols. An instance of this object is obtained from the ExportsInfo collection. For more information about the ExportsInfo collection please see IExportsInfo interface documentation.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IExportSymbol
public interface IExportSymbol
Public Interface IExportSymbol
Public Interface IExportSymbol
public interface class IExportSymbol
public interface class IExportSymbol
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class ImplementedRule : IMultiDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetProgress progress)
 {
    //Create a list of dumps that will be analyzed
    List<string> dumpFiles = new List<string>();

    dumpFiles = manager.GetDumpFiles();

    foreach (string dump in dumpFiles)
    {
        using (NetDbgObj debugger = manager.GetDebugger(dump))
        {
            DebugDiag.DbgLib.IDbgModule Module = debugger.GetModuleByModuleName("clr");

            if (Module == null)
            {
                manager.WriteLine("Unable to obtain Module object for clr.dll");
            }
            else
            {
                 manager.WriteLine("Export information for  " + Module.ImageName + "</BR\>");

                 DebugDiag.DbgLib.IExportsInfo ExportInfo = Module.ExportsInfo;

                 foreach (DebugDiag.DbgLib.IExportSymbol Symbol in ExportInfo)
                 {
                     manager.WriteLine( "SymbolName: " + Symbol.SymbolName);
                     manager.WriteLine( "Address: " + debugger.GetAs32BitHexString(Symbol.Address));
                     manager.WriteLine( "Ordinal: " + Symbol.Ordinal.ToString());
                     manager.WriteLine("RVA: " + debugger.GetAs32BitHexString(Symbol.RVA) +"</BR>");

                 }
             }
        }
    }
 }
}
public class ImplementedRule : IMultiDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetProgress progress)
 {
    //Create a list of dumps that will be analyzed
    List<string> dumpFiles = new List<string>();

    dumpFiles = manager.GetDumpFiles();

    foreach (string dump in dumpFiles)
    {
        using (NetDbgObj debugger = manager.GetDebugger(dump))
        {
            DebugDiag.DbgLib.IDbgModule Module = debugger.GetModuleByModuleName("clr");

            if (Module == null)
            {
                manager.WriteLine("Unable to obtain Module object for clr.dll");
            }
            else
            {
                 manager.WriteLine("Export information for  " + Module.ImageName + "</BR\>");

                 DebugDiag.DbgLib.IExportsInfo ExportInfo = Module.ExportsInfo;

                 foreach (DebugDiag.DbgLib.IExportSymbol Symbol in ExportInfo)
                 {
                     manager.WriteLine( "SymbolName: " + Symbol.SymbolName);
                     manager.WriteLine( "Address: " + debugger.GetAs32BitHexString(Symbol.Address));
                     manager.WriteLine( "Ordinal: " + Symbol.Ordinal.ToString());
                     manager.WriteLine("RVA: " + debugger.GetAs32BitHexString(Symbol.RVA) +"</BR>");

                 }
             }
        }
    }
 }
}
See Also
IExportSymbol Members
DebugDiag.DbgLib Namespace


IExportSymbol Members

IExportSymbol Members Debug Diagnostics Tool 2.1 DebugDiag

The IExportSymbol type exposes the following members.
Properties
 | Name | Description
Public property | Address | Returns a Double value containing the address of this exported symbol in the modules address space.
Public property | Ordinal | Returns an integer value containing the ordinal of this exported symbol.
Public property | RVA | Returns an integer value containing the offset from the modules base address to this exported symbol. Typically you would get the address of the exported symbol from the Address property, otherwise you could add the value from this property to the value returned from IDbgModule.Base to calculate the address of the exported symbol.
Public property | SymbolName | Returns a string containing the exported symbol name.
Back to Top
See Also
IExportSymbol Interface
DebugDiag.DbgLib Namespace


IExportSymbol Properties

IExportSymbol Properties Debug Diagnostics Tool 2.1 DebugDiag
The IExportSymbol type exposes the following members.
Properties
 | Name | Description
Public property | Address | Returns a Double value containing the address of this exported symbol in the modules address space.
Public property | Ordinal | Returns an integer value containing the ordinal of this exported symbol.
Public property | RVA | Returns an integer value containing the offset from the modules base address to this exported symbol. Typically you would get the address of the exported symbol from the Address property, otherwise you could add the value from this property to the value returned from IDbgModule.Base to calculate the address of the exported symbol.
Public property | SymbolName | Returns a string containing the exported symbol name.
Back to Top
See Also
IExportSymbol Interface
DebugDiag.DbgLib Namespace


Address Property

IExportSymbol Address Property Debug Diagnostics Tool 2.1 DebugDiag
Returns a Double value containing the address of this exported symbol in the modules address space.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
double Address { get; }
double Address { get; }
ReadOnly Property Address As Double
    Get
ReadOnly Property Address As Double
    Get
property double Address {
    double get ();
}
property double Address {
    double get ();
}
See Also
IExportSymbol Interface
IExportSymbol Members
DebugDiag.DbgLib Namespace


Ordinal Property

IExportSymbol Ordinal Property Debug Diagnostics Tool 2.1 DebugDiag
Returns an integer value containing the ordinal of this exported symbol.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int Ordinal { get; }
int Ordinal { get; }
ReadOnly Property Ordinal As Integer
    Get
ReadOnly Property Ordinal As Integer
    Get
property int Ordinal {
    int get ();
}
property int Ordinal {
    int get ();
}
See Also
IExportSymbol Interface
IExportSymbol Members
DebugDiag.DbgLib Namespace


RVA Property

IExportSymbol RVA Property Debug Diagnostics Tool 2.1 DebugDiag
Returns an integer value containing the offset from the modules base address to this exported symbol. Typically you would get the address of the exported symbol from the Address property, otherwise you could add the value from this property to the value returned from IDbgModule.Base to calculate the address of the exported symbol.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int RVA { get; }
int RVA { get; }
ReadOnly Property RVA As Integer
    Get
ReadOnly Property RVA As Integer
    Get
property int RVA {
    int get ();
}
property int RVA {
    int get ();
}
See Also
IExportSymbol Interface
IExportSymbol Members
DebugDiag.DbgLib Namespace


SymbolName Property

IExportSymbol SymbolName Property Debug Diagnostics Tool 2.1 DebugDiag
Returns a string containing the exported symbol name.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string SymbolName { get; }
string SymbolName { get; }
ReadOnly Property SymbolName As String
    Get
ReadOnly Property SymbolName As String
    Get
property String^ SymbolName {
    String^ get ();
}
property String^ SymbolName {
    String^ get ();
}
See Also
IExportSymbol Interface
IExportSymbol Members
DebugDiag.DbgLib Namespace


IImportModule Interface

IImportModule Interface Debug Diagnostics Tool 2.1 DebugDiag
This is the interface implemented by a COM object that represents a Imports Symbols in Modules. This object is obtained from the ImportsInfo object. For more information regarding the ImportsInfo COM object pelase see IImportsInfo interface documentation.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IImportModule : IEnumerable
public interface IImportModule : IEnumerable
Public Interface IImportModule _
    Inherits IEnumerable
Public Interface IImportModule _
    Inherits IEnumerable
public interface class IImportModule : IEnumerable
public interface class IImportModule : IEnumerable
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class ImplementedRule : IHangDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetDbgObj debugger, NetProgress progress)
 {
     DebugDiag.DbgLib.IModuleInfo ModuleInfo = debugger.Modules;

     if (ModuleInfo == null)
     {
         manager.WriteLine("Unable to obtain module info");
     }
     else
     {
         //Navigate through the modules collection to print the modules name
         foreach (IDbgModule Module in ModuleInfo)
         {
             foreach (IImportModule ImportModule in Module.ImportsInfo)
             {
                 if(ImportModule.Name.Contains("MSVBM"))
                 {
                     manager.WriteLine("Found VB module " + ImportModule.Name + " on Module - " + Module.ModuleName);
                 }
             }
         }
     }
 }
}
public class ImplementedRule : IHangDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetDbgObj debugger, NetProgress progress)
 {
     DebugDiag.DbgLib.IModuleInfo ModuleInfo = debugger.Modules;

     if (ModuleInfo == null)
     {
         manager.WriteLine("Unable to obtain module info");
     }
     else
     {
         //Navigate through the modules collection to print the modules name
         foreach (IDbgModule Module in ModuleInfo)
         {
             foreach (IImportModule ImportModule in Module.ImportsInfo)
             {
                 if(ImportModule.Name.Contains("MSVBM"))
                 {
                     manager.WriteLine("Found VB module " + ImportModule.Name + " on Module - " + Module.ModuleName);
                 }
             }
         }
     }
 }
}
See Also
IImportModule Members
DebugDiag.DbgLib Namespace


IImportModule Members

IImportModule Members Debug Diagnostics Tool 2.1 DebugDiag

The IImportModule type exposes the following members.
Methods
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of function names
Back to Top
Properties
 | Name | Description
Public property | Count | This property returns the number of import symbols in the modules contained in the dump file.
Public property | Item | This property returns the import functions for the modules contained in the dump file.
Public property | Name | This property returns the name of the module.
Back to Top
See Also
IImportModule Interface
DebugDiag.DbgLib Namespace


IImportModule Methods

IImportModule Methods Debug Diagnostics Tool 2.1 DebugDiag
Methods
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of function names
Back to Top
See Also
IImportModule Interface
DebugDiag.DbgLib Namespace


GetEnumerator Method

IImportModule GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of function names
Back to Top
See Also
IImportModule Interface
IImportModule Members
DebugDiag.DbgLib Namespace


GetEnumerator Method

IImportModule GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
This method gives access to the enumerator for the collection of function names

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IEnumerator GetEnumerator()
IEnumerator GetEnumerator()
Function GetEnumerator As IEnumerator
Function GetEnumerator As IEnumerator
IEnumerator^ GetEnumerator()
IEnumerator^ GetEnumerator()
Return Value
Enumrator that implements the IEnumerator .Net interface.
Implements
  Online IEnumerable GetEnumerator
See Also
IImportModule Interface
IImportModule Members
GetEnumerator Overload
DebugDiag.DbgLib Namespace


IImportModule Properties

IImportModule Properties Debug Diagnostics Tool 2.1 DebugDiag
The IImportModule type exposes the following members.
Properties
 | Name | Description
Public property | Count | This property returns the number of import symbols in the modules contained in the dump file.
Public property | Item | This property returns the import functions for the modules contained in the dump file.
Public property | Name | This property returns the name of the module.
Back to Top
See Also
IImportModule Interface
DebugDiag.DbgLib Namespace


Count Property

IImportModule Count Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the number of import symbols in the modules contained in the dump file.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int Count { get; }
int Count { get; }
ReadOnly Property Count As Integer
    Get
ReadOnly Property Count As Integer
    Get
property int Count {
    int get ();
}
property int Count {
    int get ();
}
See Also
IImportModule Interface
IImportModule Members
DebugDiag.DbgLib Namespace


Item Property

IImportModule Item Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the import functions for the modules contained in the dump file.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string this[
    int Index
] { get; }
string this[
    int Index
] { get; }
ReadOnly Default Property Item ( _
    Index As Integer _
) As String
    Get
ReadOnly Default Property Item ( _
    Index As Integer _
) As String
    Get
property String^ default[int Index] {
    String^ get (int Index);
}
property String^ default[int Index] {
    String^ get (int Index);
}
Parameters
Index
Type:   Online System Int32
The method takes an integer that is a zero based index of the function to retrieve.
Return Value
Returns a string with the function name from the symbols
See Also
IImportModule Interface
IImportModule Members
DebugDiag.DbgLib Namespace


Name Property

IImportModule Name Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the name of the module.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string Name { get; }
string Name { get; }
ReadOnly Property Name As String
    Get
ReadOnly Property Name As String
    Get
property String^ Name {
    String^ get ();
}
property String^ Name {
    String^ get ();
}
See Also
IImportModule Interface
IImportModule Members
DebugDiag.DbgLib Namespace


IImportsInfo Interface

IImportsInfo Interface Debug Diagnostics Tool 2.1 DebugDiag
This is the interface implemented by a COM object that manages the information for the imports symbols in modules in a dump file. An instance of this object is obtained by calling the IModule.ImportsInfo method.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IImportsInfo : IEnumerable
public interface IImportsInfo : IEnumerable
Public Interface IImportsInfo _
    Inherits IEnumerable
Public Interface IImportsInfo _
    Inherits IEnumerable
public interface class IImportsInfo : IEnumerable
public interface class IImportsInfo : IEnumerable
See Also
IImportsInfo Members
DebugDiag.DbgLib Namespace


IImportsInfo Members

IImportsInfo Members Debug Diagnostics Tool 2.1 DebugDiag

The IImportsInfo type exposes the following members.
Methods
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of ImportModule COM Objects
Back to Top
Properties
 | Name | Description
Public property | Count | This property returns the number of import symbols in the modules contained in the dump file.
Public property | Item | This property returns an instance of the ImportModule object.
Back to Top
See Also
IImportsInfo Interface
DebugDiag.DbgLib Namespace


IImportsInfo Methods

IImportsInfo Methods Debug Diagnostics Tool 2.1 DebugDiag
Methods
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of ImportModule COM Objects
Back to Top
See Also
IImportsInfo Interface
DebugDiag.DbgLib Namespace


GetEnumerator Method

IImportsInfo GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of ImportModule COM Objects
Back to Top
See Also
IImportsInfo Interface
IImportsInfo Members
DebugDiag.DbgLib Namespace


GetEnumerator Method

IImportsInfo GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
This method gives access to the enumerator for the collection of ImportModule COM Objects

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IEnumerator GetEnumerator()
IEnumerator GetEnumerator()
Function GetEnumerator As IEnumerator
Function GetEnumerator As IEnumerator
IEnumerator^ GetEnumerator()
IEnumerator^ GetEnumerator()
Return Value
Enumrator that implements the IEnumerator .Net interface.
Implements
  Online IEnumerable GetEnumerator
See Also
IImportsInfo Interface
IImportsInfo Members
GetEnumerator Overload
DebugDiag.DbgLib Namespace


IImportsInfo Properties

IImportsInfo Properties Debug Diagnostics Tool 2.1 DebugDiag
The IImportsInfo type exposes the following members.
Properties
 | Name | Description
Public property | Count | This property returns the number of import symbols in the modules contained in the dump file.
Public property | Item | This property returns an instance of the ImportModule object.
Back to Top
See Also
IImportsInfo Interface
DebugDiag.DbgLib Namespace


Count Property

IImportsInfo Count Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the number of import symbols in the modules contained in the dump file.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int Count { get; }
int Count { get; }
ReadOnly Property Count As Integer
    Get
ReadOnly Property Count As Integer
    Get
property int Count {
    int get ();
}
property int Count {
    int get ();
}
See Also
IImportsInfo Interface
IImportsInfo Members
DebugDiag.DbgLib Namespace


Item Property

IImportsInfo Item Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an instance of the ImportModule object.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IImportModule this[
    int Index
] { get; }
IImportModule this[
    int Index
] { get; }
ReadOnly Default Property Item ( _
    Index As Integer _
) As IImportModule
    Get
ReadOnly Default Property Item ( _
    Index As Integer _
) As IImportModule
    Get
property IImportModule^ default[int Index] {
    IImportModule^ get (int Index);
}
property IImportModule^ default[int Index] {
    IImportModule^ get (int Index);
}
Parameters
Index
Type:   Online System Int32
The method takes an integer that is a zero based index of the module to retrieve.
Return Value
Returns a COM object that implements the IImportModule interface.
See Also
IImportsInfo Interface
IImportsInfo Members
DebugDiag.DbgLib Namespace


IModuleInfo Interface

IModuleInfo Interface Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IModuleInfo : IEnumerable
public interface IModuleInfo : IEnumerable
Public Interface IModuleInfo _
    Inherits IEnumerable
Public Interface IModuleInfo _
    Inherits IEnumerable
public interface class IModuleInfo : IEnumerable
public interface class IModuleInfo : IEnumerable
See Also
IModuleInfo Members
DebugDiag.DbgLib Namespace


IModuleInfo Members

IModuleInfo Members Debug Diagnostics Tool 2.1 DebugDiag

The IModuleInfo type exposes the following members.
Methods
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of DbgModule COM objects
Back to Top
Properties
 | Name | Description
Public property | Count | This property returns a count that represents the number of modules contained in the dump file.
Public property | Item | This property returns an instance of the DbgModule object. The method takes an Integer that is a zero based index of the module to retrieve.
Back to Top
See Also
IModuleInfo Interface
DebugDiag.DbgLib Namespace


IModuleInfo Methods

IModuleInfo Methods Debug Diagnostics Tool 2.1 DebugDiag
Methods
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of DbgModule COM objects
Back to Top
See Also
IModuleInfo Interface
DebugDiag.DbgLib Namespace


GetEnumerator Method

IModuleInfo GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of DbgModule COM objects
Back to Top
See Also
IModuleInfo Interface
IModuleInfo Members
DebugDiag.DbgLib Namespace


GetEnumerator Method

IModuleInfo GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
This method gives access to the enumerator for the collection of DbgModule COM objects

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IEnumerator GetEnumerator()
IEnumerator GetEnumerator()
Function GetEnumerator As IEnumerator
Function GetEnumerator As IEnumerator
IEnumerator^ GetEnumerator()
IEnumerator^ GetEnumerator()
Return Value
Enumrator that implements the IEnumerator .Net interface.
Implements
  Online IEnumerable GetEnumerator
See Also
IModuleInfo Interface
IModuleInfo Members
GetEnumerator Overload
DebugDiag.DbgLib Namespace


IModuleInfo Properties

IModuleInfo Properties Debug Diagnostics Tool 2.1 DebugDiag
The IModuleInfo type exposes the following members.
Properties
 | Name | Description
Public property | Count | This property returns a count that represents the number of modules contained in the dump file.
Public property | Item | This property returns an instance of the DbgModule object. The method takes an Integer that is a zero based index of the module to retrieve.
Back to Top
See Also
IModuleInfo Interface
DebugDiag.DbgLib Namespace


Count Property

IModuleInfo Count Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a count that represents the number of modules contained in the dump file.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int Count { get; }
int Count { get; }
ReadOnly Property Count As Integer
    Get
ReadOnly Property Count As Integer
    Get
property int Count {
    int get ();
}
property int Count {
    int get ();
}
See Also
IModuleInfo Interface
IModuleInfo Members
DebugDiag.DbgLib Namespace


Item Property

IModuleInfo Item Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an instance of the DbgModule object. The method takes an Integer that is a zero based index of the module to retrieve.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IDbgModule this[
    int Index
] { get; }
IDbgModule this[
    int Index
] { get; }
ReadOnly Default Property Item ( _
    Index As Integer _
) As IDbgModule
    Get
ReadOnly Default Property Item ( _
    Index As Integer _
) As IDbgModule
    Get
property IDbgModule^ default[int Index] {
    IDbgModule^ get (int Index);
}
property IDbgModule^ default[int Index] {
    IDbgModule^ get (int Index);
}
Parameters
Index
Type:   Online System Int32
Zero based index of the module to retrieve
Return Value
Returns and instance of a COM DbgModule object that implements the IDbgModule interface.
See Also
IModuleInfo Interface
IModuleInfo Members
DebugDiag.DbgLib Namespace


IResult Interface

IResult Interface Debug Diagnostics Tool 2.1 DebugDiag
This is the interface implemented by a COM object that represents a Result object. An instance of this object is obtained from the Results object. For more infomration regarding the Results object please see IResults interface documentation.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IResult
public interface IResult
Public Interface IResult
Public Interface IResult
public interface class IResult
public interface class IResult
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class ImplementedRule : IHangDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetDbgObj debugger, NetProgress progress)
 {
     //Obtain the Results Collection Reference
     IResults Results = manager.GetResults(0);

     manager.ReportError("This is an Error", "This is the Solution");
     manager.ReportWarning("This is a Warning", "This is a Suggestion");
     manager.ReportInformation("This is for your Information");

     //Navigates de Collection to show the content of each result
     foreach (IResult Result in Results)
     {
         manager.WriteLine("Description = " + Result.Description);
         manager.WriteLine("Recommendation = " + Result.Recommendation);
         manager.WriteLine("Source = " + Result.Source);
         manager.WriteLine("Type = " + Result.Type + "</BR>");
     }
 }
}
public class ImplementedRule : IHangDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetDbgObj debugger, NetProgress progress)
 {
     //Obtain the Results Collection Reference
     IResults Results = manager.GetResults(0);

     manager.ReportError("This is an Error", "This is the Solution");
     manager.ReportWarning("This is a Warning", "This is a Suggestion");
     manager.ReportInformation("This is for your Information");

     //Navigates de Collection to show the content of each result
     foreach (IResult Result in Results)
     {
         manager.WriteLine("Description = " + Result.Description);
         manager.WriteLine("Recommendation = " + Result.Recommendation);
         manager.WriteLine("Source = " + Result.Source);
         manager.WriteLine("Type = " + Result.Type + "</BR>");
     }
 }
}
See Also
IResult Members
DebugDiag.DbgLib Namespace


IResult Members

IResult Members Debug Diagnostics Tool 2.1 DebugDiag

The IResult type exposes the following members.
Properties
 | Name | Description
Public property | Description | This property returns a string value of the result description.
Public property | Recommendation | This property returns a string value for the recommendations to make based on results.
Public property | Source | This property returns a string value for the source of the result.
Public property | Type | This property returns a string value for Type of results (Error/Warning/Information).
Public property | Weight | This property used as a means to sort the results based on importance. For Example: Result A with weight 10 will appear higher than a result B with weight 5 in the analysis summary.
Back to Top
See Also
IResult Interface
DebugDiag.DbgLib Namespace


IResult Properties

IResult Properties Debug Diagnostics Tool 2.1 DebugDiag
The IResult type exposes the following members.
Properties
 | Name | Description
Public property | Description | This property returns a string value of the result description.
Public property | Recommendation | This property returns a string value for the recommendations to make based on results.
Public property | Source | This property returns a string value for the source of the result.
Public property | Type | This property returns a string value for Type of results (Error/Warning/Information).
Public property | Weight | This property used as a means to sort the results based on importance. For Example: Result A with weight 10 will appear higher than a result B with weight 5 in the analysis summary.
Back to Top
See Also
IResult Interface
DebugDiag.DbgLib Namespace


Description Property

IResult Description Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a string value of the result description.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string Description { get; }
string Description { get; }
ReadOnly Property Description As String
    Get
ReadOnly Property Description As String
    Get
property String^ Description {
    String^ get ();
}
property String^ Description {
    String^ get ();
}
See Also
IResult Interface
IResult Members
DebugDiag.DbgLib Namespace


Recommendation Property

IResult Recommendation Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a string value for the recommendations to make based on results.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string Recommendation { get; }
string Recommendation { get; }
ReadOnly Property Recommendation As String
    Get
ReadOnly Property Recommendation As String
    Get
property String^ Recommendation {
    String^ get ();
}
property String^ Recommendation {
    String^ get ();
}
See Also
IResult Interface
IResult Members
DebugDiag.DbgLib Namespace


Source Property

IResult Source Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a string value for the source of the result.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string Source { get; }
string Source { get; }
ReadOnly Property Source As String
    Get
ReadOnly Property Source As String
    Get
property String^ Source {
    String^ get ();
}
property String^ Source {
    String^ get ();
}
See Also
IResult Interface
IResult Members
DebugDiag.DbgLib Namespace


Type Property

IResult Type Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a string value for Type of results (Error/Warning/Information).

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string Type { get; }
string Type { get; }
ReadOnly Property Type As String
    Get
ReadOnly Property Type As String
    Get
property String^ Type {
    String^ get ();
}
property String^ Type {
    String^ get ();
}
See Also
IResult Interface
IResult Members
DebugDiag.DbgLib Namespace


Weight Property

IResult Weight Property Debug Diagnostics Tool 2.1 DebugDiag
This property used as a means to sort the results based on importance. For Example: Result A with weight 10 will appear higher than a result B with weight 5 in the analysis summary.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int Weight { get; }
int Weight { get; }
ReadOnly Property Weight As Integer
    Get
ReadOnly Property Weight As Integer
    Get
property int Weight {
    int get ();
}
property int Weight {
    int get ();
}
See Also
IResult Interface
IResult Members
DebugDiag.DbgLib Namespace


IResults Interface

IResults Interface Debug Diagnostics Tool 2.1 DebugDiag
This is the interface implemented by a COM object that represents a global collection of Result objects. An instance of this object is obtained from the NetScriptManager.GetResults property of the Manager object. The Manager object is an intrinsic object of the script and available by default.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IResults : IEnumerable
public interface IResults : IEnumerable
Public Interface IResults _
    Inherits IEnumerable
Public Interface IResults _
    Inherits IEnumerable
public interface class IResults : IEnumerable
public interface class IResults : IEnumerable
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class ImplementedRule : IHangDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetDbgObj debugger, NetProgress progress)
 {
     //Obtain the Results Collection Reference
     IResults Results = manager.GetResults(0);

     manager.ReportError("This is an Error", "This is the Solution");
     manager.ReportWarning("This is a Warning", "This is a Suggestion");
     manager.ReportInformation("This is for your Information");

     //Navigates de Collection to show the content of each result
     foreach (IResult Result in Results)
     {
         manager.WriteLine("Description = " + Result.Description);
         manager.WriteLine("Recommendation = " + Result.Recommendation);
         manager.WriteLine("Source = " + Result.Source);
         manager.WriteLine("Type = " + Result.Type + "</BR>");
     }
 }
}
public class ImplementedRule : IHangDumpRule, IAnalysisRuleMetadata
{
 public void RunAnalysisRule(NetScriptManager manager, NetDbgObj debugger, NetProgress progress)
 {
     //Obtain the Results Collection Reference
     IResults Results = manager.GetResults(0);

     manager.ReportError("This is an Error", "This is the Solution");
     manager.ReportWarning("This is a Warning", "This is a Suggestion");
     manager.ReportInformation("This is for your Information");

     //Navigates de Collection to show the content of each result
     foreach (IResult Result in Results)
     {
         manager.WriteLine("Description = " + Result.Description);
         manager.WriteLine("Recommendation = " + Result.Recommendation);
         manager.WriteLine("Source = " + Result.Source);
         manager.WriteLine("Type = " + Result.Type + "</BR>");
     }
 }
}
See Also
IResults Members
DebugDiag.DbgLib Namespace


IResults Members

IResults Members Debug Diagnostics Tool 2.1 DebugDiag

The IResults type exposes the following members.
Methods
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of Result COM objects
Back to Top
Properties
 | Name | Description
Public property | Count | This property returns an Integer value of number of results (Errors/Warnings/Information) reported by the Analyzer.
Public property | Item | This property returns an instance of the Result object.
Back to Top
See Also
IResults Interface
DebugDiag.DbgLib Namespace


IResults Methods

IResults Methods Debug Diagnostics Tool 2.1 DebugDiag
Methods
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of Result COM objects
Back to Top
See Also
IResults Interface
DebugDiag.DbgLib Namespace


GetEnumerator Method

IResults GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | Online GetEnumerator | Returns an enumerator that iterates through a collection. (Inherited from Online IEnumerable.)
Public method | GetEnumerator | This method gives access to the enumerator for the collection of Result COM objects
Back to Top
See Also
IResults Interface
IResults Members
DebugDiag.DbgLib Namespace


GetEnumerator Method

IResults GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
This method gives access to the enumerator for the collection of Result COM objects

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IEnumerator GetEnumerator()
IEnumerator GetEnumerator()
Function GetEnumerator As IEnumerator
Function GetEnumerator As IEnumerator
IEnumerator^ GetEnumerator()
IEnumerator^ GetEnumerator()
Return Value
Enumrator that implements the IEnumerator .Net interface.
Implements
  Online IEnumerable GetEnumerator
See Also
IResults Interface
IResults Members
GetEnumerator Overload
DebugDiag.DbgLib Namespace


IResults Properties

IResults Properties Debug Diagnostics Tool 2.1 DebugDiag
The IResults type exposes the following members.
Properties
 | Name | Description
Public property | Count | This property returns an Integer value of number of results (Errors/Warnings/Information) reported by the Analyzer.
Public property | Item | This property returns an instance of the Result object.
Back to Top
See Also
IResults Interface
DebugDiag.DbgLib Namespace


Count Property

IResults Count Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an Integer value of number of results (Errors/Warnings/Information) reported by the Analyzer.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
int Count { get; }
int Count { get; }
ReadOnly Property Count As Integer
    Get
ReadOnly Property Count As Integer
    Get
property int Count {
    int get ();
}
property int Count {
    int get ();
}
See Also
IResults Interface
IResults Members
DebugDiag.DbgLib Namespace


Item Property

IResults Item Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an instance of the Result object.

Namespace: DebugDiag.DbgLib
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
IResult this[
    int Index
] { get; }
IResult this[
    int Index
] { get; }
ReadOnly Default Property Item ( _
    Index As Integer _
) As IResult
    Get
ReadOnly Default Property Item ( _
    Index As Integer _
) As IResult
    Get
property IResult^ default[int Index] {
    IResult^ get (int Index);
}
property IResult^ default[int Index] {
    IResult^ get (int Index);
}
Parameters
Index
Type:   Online System Int32
Zero based index of the Result to retrieve
Return Value
Returns and instance of a COM Result object that implements the IResult interface
See Also
IResults Interface
IResults Members
DebugDiag.DbgLib Namespace


DebugDiag.DotNet Namespace

DebugDiag.DotNet Namespace Debug Diagnostics Tool 2.1 DebugDiag
Classes
 | Class | Description
Public class | BitnessMismatchException | This exception is thrown if for any reason the debugger Bitness is different that the process being debugged ie. The Debugger is 64 bits and process is 32 bits.
Public class | Fact |
Public class | NetAnalyzer | The NetAnalyzer object is used to determine available analysis scripts, add data files, and start an analysis. This object is used internally by the DebugDiag Analysis user interface to manage analysis rules. End users can use this object to develop their own rules, batch files, or GUI's to manage data analysis.
Public class | NetDbgException | This object represents an exception record. It is obtained by calling the NetDbgObj.Exception or NetDbgObj.GetExceptionObjectFromAddress methods of the NetDbgObj object.
Public class | NetDbgObj | This object represents an instance of the debugger. An instance of this object is obtained from the GetDebugger(String) method of the NetScriptManager object.
Public class | NetDbgStackFrame | This object represents a single frame of a call stack for a thread in the debugger. An instance of this object is retrieved from the NetDbgStackFrames object.
Public class | NetDbgStackFrames | This object maintains a collection of NetDbgStackFrame objects. An instance of this object is obtained from the NetDbgThread.MixedStackFrames property.
Public class | NetDbgThread | This object manages information about a thread in the dump file. An instance of this object can be obtained from the NetDbgObj.GetThreadBySystemID, the NetDbgObj.GetThreadByManagedThreadId and ExceptionThread methods of the NetDbgObj object, or by getting the thread list using the NetDbgObj.Threads method.
Public class | NetProgress | This object represents a progress bar object. An instance of this object is obtained from the Progress property of the NetScriptManager object.
Public class | NetResult | This object represents a NetResult object. An instance of this object is obtained from the NetResults List.
Public class | NetResults | This object represents a global List of NetResult objects. An instance of this object is returned by running AnalysisService.RunAnalysisRules function of the AnalysisService object.
Public class | NetScriptManager | This object is the main object for analyzer. When analyzer runs a rule an instance of this object is made available to the rule object automatically. The NetScriptManager object is used to obtain an instance of the NetDbgObj object, to report errors, warnings and other information, as well as manage the data files that will be analyzed.
Public class | RuleExecutionEventArgs | Provides data for the PreExecuteRule Event
Public class | RuleFilterEventArgs | Provides data for the OnRuleFilter Event
Public class | SetCurrentPositionEventArgs |
Public class | SetCurrentRangeEventArgs |
Public class | SetCurrentStatusEventArgs |
Public class | SetDebuggerStatusEventArgs |
Public class | SetOverallPositionEventArgs |
Public class | SetOverallRangeEventArgs |
Public class | SetOverallStatusEventArgs |
Enumerations
 | Enumeration | Description
Public enumeration | COMApartmentType | Enumaration for the COM threading Apartment type
Public enumeration | DumpFileType | This enumeration has a Flags attribute.
Public enumeration | FrameSearchOptions | Enumeration for the Search Options
Public enumeration | RuleFilterResults | Enumeration that indicates the possible Filter results


BitnessMismatchException Class

BitnessMismatchException Class Debug Diagnostics Tool 2.1 DebugDiag
This exception is thrown if for any reason the debugger Bitness is different that the process being debugged ie. The Debugger is 64 bits and process is 32 bits.
Inheritance Hierarchy
Online System Object
Online System Exception
DebugDiag.DotNet BitnessMismatchException

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class BitnessMismatchException : Exception
public class BitnessMismatchException : Exception
Public Class BitnessMismatchException _
    Inherits Exception
Public Class BitnessMismatchException _
    Inherits Exception
public ref class BitnessMismatchException : public Exception
public ref class BitnessMismatchException : public Exception
See Also
BitnessMismatchException Members
DebugDiag.DotNet Namespace


BitnessMismatchException Members

BitnessMismatchException Members Debug Diagnostics Tool 2.1 DebugDiag

The BitnessMismatchException type exposes the following members.
Constructors
 | Name | Description
Public method | BitnessMismatchException | Default constructor
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetBaseException | When overridden in a derived class, returns the Online Exception that is the root cause of one or more subsequent exceptions. (Inherited from Online Exception.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetObjectData | When overridden in a derived class, sets the Online SerializationInfo with information about the exception. (Inherited from Online Exception.)
Public method | Online GetType | Gets the runtime type of the current instance. (Inherited from Online Exception.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Creates and returns a string representation of the current exception. (Inherited from Online Exception.)
Back to Top
Properties
 | Name | Description
Public property | Online Data | Gets a collection of key/value pairs that provide additional user-defined information about the exception. (Inherited from Online Exception.)
Public property | Online HelpLink | Gets or sets a link to the help file associated with this exception. (Inherited from Online Exception.)
Protected property | Online HResult | Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception. (Inherited from Online Exception.)
Public property | Online InnerException | Gets the Online Exception instance that caused the current exception. (Inherited from Online Exception.)
Public property | Online Message | Gets a message that describes the current exception. (Inherited from Online Exception.)
Public property | Online Source | Gets or sets the name of the application or the object that causes the error. (Inherited from Online Exception.)
Public property | Online StackTrace | Gets a string representation of the immediate frames on the call stack. (Inherited from Online Exception.)
Public property | Online TargetSite | Gets the method that throws the current exception. (Inherited from Online Exception.)
Back to Top
Events
 | Name | Description
Protected event | Online SerializeObjectState | Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception. (Inherited from Online Exception.)
Back to Top
See Also
BitnessMismatchException Class


BitnessMismatchException Constructor

BitnessMismatchException Constructor Debug Diagnostics Tool 2.1 DebugDiag
Default constructor

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public BitnessMismatchException(
    string message
)
public BitnessMismatchException(
    string message
)
Public Sub New ( _
    message As String _
)
Public Sub New ( _
    message As String _
)
public:
BitnessMismatchException(
    String^ message
)
public:
BitnessMismatchException(
    String^ message
)
Parameters
message
Type:   Online System String
"Message to be added on the exception"
See Also
BitnessMismatchException Class
BitnessMismatchException Members


BitnessMismatchException Methods

BitnessMismatchException Methods Debug Diagnostics Tool 2.1 DebugDiag
The BitnessMismatchException type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetBaseException | When overridden in a derived class, returns the Online Exception that is the root cause of one or more subsequent exceptions. (Inherited from Online Exception.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetObjectData | When overridden in a derived class, sets the Online SerializationInfo with information about the exception. (Inherited from Online Exception.)
Public method | Online GetType | Gets the runtime type of the current instance. (Inherited from Online Exception.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Creates and returns a string representation of the current exception. (Inherited from Online Exception.)
Back to Top
See Also
BitnessMismatchException Class


BitnessMismatchException Properties

BitnessMismatchException Properties Debug Diagnostics Tool 2.1 DebugDiag
The BitnessMismatchException type exposes the following members.
Properties
 | Name | Description
Public property | Online Data | Gets a collection of key/value pairs that provide additional user-defined information about the exception. (Inherited from Online Exception.)
Public property | Online HelpLink | Gets or sets a link to the help file associated with this exception. (Inherited from Online Exception.)
Protected property | Online HResult | Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception. (Inherited from Online Exception.)
Public property | Online InnerException | Gets the Online Exception instance that caused the current exception. (Inherited from Online Exception.)
Public property | Online Message | Gets a message that describes the current exception. (Inherited from Online Exception.)
Public property | Online Source | Gets or sets the name of the application or the object that causes the error. (Inherited from Online Exception.)
Public property | Online StackTrace | Gets a string representation of the immediate frames on the call stack. (Inherited from Online Exception.)
Public property | Online TargetSite | Gets the method that throws the current exception. (Inherited from Online Exception.)
Back to Top
See Also
BitnessMismatchException Class


BitnessMismatchException Events

BitnessMismatchException Events Debug Diagnostics Tool 2.1 DebugDiag
The BitnessMismatchException type exposes the following members.
Events
 | Name | Description
Protected event | Online SerializeObjectState | Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception. (Inherited from Online Exception.)
Back to Top
See Also
BitnessMismatchException Class


COMApartmentType Enumeration

COMApartmentType Enumeration Debug Diagnostics Tool 2.1 DebugDiag
Enumaration for the COM threading Apartment type

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public enum COMApartmentType
public enum COMApartmentType
Public Enumeration COMApartmentType
Public Enumeration COMApartmentType
public enum class COMApartmentType
public enum class COMApartmentType
Members
Member name | Value | Description
Uninitialized | 0 |
Neutral | 1 |
MTA | 2 |
STA | 3 |
Unknown | 4 |
See Also


DumpFileType Enumeration

DumpFileType Enumeration Debug Diagnostics Tool 2.1 DebugDiag
This enumeration has a Flags attribute.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
[FlagsAttribute]
public enum DumpFileType
[FlagsAttribute]
public enum DumpFileType
<FlagsAttribute> _
Public Enumeration DumpFileType
<FlagsAttribute> _
Public Enumeration DumpFileType
[FlagsAttribute]
public enum class DumpFileType
[FlagsAttribute]
public enum class DumpFileType
Members
Member name | Value | Description
None | 0 | Unrecognized dump file type
_32bitWithoutClr | 1 | Target process was 32 bits and no CLR was found on the process
_32bitWithClr | 2 | Target process was 32 bits and CLR was found on the process
_32bitAll | 3 | Target process was 32 bits and CLR was found on the process
_64bitWithoutClr | 4 | Target process was 64 bits and no CLR was found on the process
_64bitWithClr | 8 | Target process was 64 bits and CLR was found on the process
_64bitAll | 12 | Target process was 32 bits and CLR was found on the process
See Also


Fact Class

Fact Class Debug Diagnostics Tool 2.1 DebugDiag
Inheritance Hierarchy
Online System Object
DebugDiag.DotNet Fact

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class Fact
public class Fact
Public Class Fact
Public Class Fact
public ref class Fact
public ref class Fact
See Also
Fact Members


Fact Members

Fact Members Debug Diagnostics Tool 2.1 DebugDiag

The Fact type exposes the following members.
Constructors
 | Name | Description
Public method | Fact | Initializes a new instance of the Fact class
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Fields
 | Name | Description
Public field | Data |
Public field | FactID |
Public field | FactTypeID |
Public field | Name |
Public field | ParentFactID |
Back to Top
See Also
Fact Class


Fact Constructor

Fact Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the Fact class

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public Fact()
public Fact()
Public Sub New
Public Sub New
public:
Fact()
public:
Fact()
See Also
Fact Class
Fact Members


Fact Fields

Fact Fields Debug Diagnostics Tool 2.1 DebugDiag
The Fact type exposes the following members.
Fields
 | Name | Description
Public field | Data |
Public field | FactID |
Public field | FactTypeID |
Public field | Name |
Public field | ParentFactID |
Back to Top
See Also
Fact Class


Data Field

Fact Data Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string[] Data
public string[] Data
Public Data As String()
Public Data As String()
public:
array<String^>^ Data
public:
array<String^>^ Data
See Also
Fact Class
Fact Members


FactID Field

Fact FactID Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string FactID
public string FactID
Public FactID As String
Public FactID As String
public:
String^ FactID
public:
String^ FactID
See Also
Fact Class
Fact Members


FactTypeID Field

Fact FactTypeID Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string FactTypeID
public string FactTypeID
Public FactTypeID As String
Public FactTypeID As String
public:
String^ FactTypeID
public:
String^ FactTypeID
See Also
Fact Class
Fact Members


Name Field

Fact Name Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string Name
public string Name
Public Name As String
Public Name As String
public:
String^ Name
public:
String^ Name
See Also
Fact Class
Fact Members


ParentFactID Field

Fact ParentFactID Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ParentFactID
public string ParentFactID
Public ParentFactID As String
Public ParentFactID As String
public:
String^ ParentFactID
public:
String^ ParentFactID
See Also
Fact Class
Fact Members


Fact Methods

Fact Methods Debug Diagnostics Tool 2.1 DebugDiag
The Fact type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
Fact Class


FrameSearchOptions Enumeration

FrameSearchOptions Enumeration Debug Diagnostics Tool 2.1 DebugDiag
Enumeration for the Search Options

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public enum FrameSearchOptions
public enum FrameSearchOptions
Public Enumeration FrameSearchOptions
Public Enumeration FrameSearchOptions
public enum class FrameSearchOptions
public enum class FrameSearchOptions
Members
Member name | Value | Description
PartialMatch | 0 | Return a match is searchText is found anywhere in the frame text
CompleteMatchIgnoreOffsets | 1 | Return a match if the searchText matches the entire FrameText line including module name, function name, and parameter list - but ignoring offsets. Module names can be ommtted for CLR frames. Parameter lists apply only to CLR frames.
CompleteMatchIncludingOffsets | 2 | Return a match if the searchText matches the entire FrameText line including module name, function name, parameter list, AND offsets. Module names can be ommtted for CLR frames. Parameter lists apply only to CLR frames.
See Also


NetAnalyzer Class

NetAnalyzer Class Debug Diagnostics Tool 2.1 DebugDiag
The NetAnalyzer object is used to determine available analysis scripts, add data files, and start an analysis. This object is used internally by the DebugDiag Analysis user interface to manage analysis rules. End users can use this object to develop their own rules, batch files, or GUI's to manage data analysis.
Inheritance Hierarchy
Online System Object
DebugDiag.DotNet NetAnalyzer

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class NetAnalyzer : IDisposable
public class NetAnalyzer : IDisposable
Public Class NetAnalyzer _
    Implements IDisposable
Public Class NetAnalyzer _
    Implements IDisposable
public ref class NetAnalyzer : IDisposable
public ref class NetAnalyzer : IDisposable
Remarks
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //In this example I'm referencing a dll module that has the prebuild rules that ship with debugdiag
    analyzer.AddAnalysisRulesToRunList(@"C:\Program Files\DebugDiag\AnalysisRules\DebugDiag.AnalysisRules.dll", false);

    List<AnalysisRuleInfo> analysisRules = analyzer.AnalysisRuleInfos;

    Console.WriteLine("The available rules on the analyzer are: \n\r\n\r");

    foreach(AnalysisRuleInfo ruleInfo in analysisRules)
    {
         Console.WriteLine(ruleInfo.DisplayName);
    }
}
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //In this example I'm referencing a dll module that has the prebuild rules that ship with debugdiag
    analyzer.AddAnalysisRulesToRunList(@"C:\Program Files\DebugDiag\AnalysisRules\DebugDiag.AnalysisRules.dll", false);

    List<AnalysisRuleInfo> analysisRules = analyzer.AnalysisRuleInfos;

    Console.WriteLine("The available rules on the analyzer are: \n\r\n\r");

    foreach(AnalysisRuleInfo ruleInfo in analysisRules)
    {
         Console.WriteLine(ruleInfo.DisplayName);
    }
}
See Also
NetAnalyzer Members


NetAnalyzer Members

NetAnalyzer Members Debug Diagnostics Tool 2.1 DebugDiag

The NetAnalyzer type exposes the following members.
Constructors
 | Name | Description
Public method | NetAnalyzer | Default Constructor of the NetAnalyzer object, it initializes an instance of the NetScriptManager Object.
Back to Top
Methods
 | Name | Description
Public method | AddAnalysisRulesToRunList(Assembly) | Add all possible analysis rules found in the assembly provided. Analysis rules must be public classes which implement one of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule
Public method | AddAnalysisRulesToRunList(String, Boolean) | Add all possible analysis rules found at the path provided. Analysis rules must be public classes which implement one or more of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule.
Public method | AddAnalysisRuleToRunList(String) |
Public method | AddAnalysisRuleToRunList(Type) | Add all possible analysis rules found in the type provided. Analysis rules must be public classes which implement one or more of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule.
Public method | AddAnalysisRuleToRunList RuleInstanceType | Add all possible analysis rules found in the type provided. Analysis rules must be public classes which implement one or more of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule.
Public method | AddDumpFile | Add a dump to the list of dumps to be analyzed
Public method | AddDumpFiles | Add a list of dump files to be analyzed
Public method | Dispose | Release all the native resources used by the NetAnalyzer object.
Protected method | Dispose(Boolean) | Releases the unmanaged resources used by the NetAnalyzer and optionally releases the managed resources
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Finalize | (Overrides Online Object Finalize .)
Public method | GetDumpFiles | This property retuns a List of Strings containing the file names of the dumps currently being analyzed .
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Public method | Initialize | Initialize the NetScriptManager Object setting the default properties for the reports
Public method | Kill | This method allows to stop the execution of the rules.
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | RunAnalysisRules | This method will run the scripts added with AddAnalysisRulesToRunList(String, Boolean) on the dump files added to be analyzed. A NetProgress object can be passed to display the progress of the analysis, as well as the symbol path used during the analysis, and the path where the report will be generated for the analysis.
Public method | ShowReportFiles | This function will show the reports that where generated on IE
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Fields
 | Name | Description
Public field | AnalysisRuleInfos | Field that holds a list of AnalysisRuleInfo objects
Public field | ImagePath | Field where the compiled modules are located in case a minidump is used in order to help resolving symbols
Public field | Progress | Field that holds an instance of the NetProgress object used by the NetAnalyzer
Public field | SymbolPath | Field where the symbols path information is stored
Back to Top
Properties
 | Name | Description
Public property | Manager | Returns an instance of the NetScriptManager object.
Public property | ReportFileNames | This property returns a string array containing the Report File names generated by the analysis rules executed.
Public property | ReportReady | This property returns True if the report has been completely generated, otherwise it returns false.
Public property | x86AnalysisHostErrors | On 64 bits analysis is performed on a different process called DebugDiag.x86AnalysisHost.exe, this property allows the developer to get a list of errors if any, when executing rules against 32 bit dump processes.
Back to Top
Events
 | Name | Description
Public event | OnRuleFilter | Occurs when the RunAnalysisRules method is executed and a rule is executed
Public event | PostExecuteRule | Occurs after the RunAnalysis method has been executed
Public event | PreExecuteRule | Occurs prior to call the RunAnalysis method on the implemented Rule
Back to Top
See Also
NetAnalyzer Class


NetAnalyzer Constructor

NetAnalyzer Constructor Debug Diagnostics Tool 2.1 DebugDiag
Default Constructor of the NetAnalyzer object, it initializes an instance of the NetScriptManager Object.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetAnalyzer()
public NetAnalyzer()
Public Sub New
Public Sub New
public:
NetAnalyzer()
public:
NetAnalyzer()
See Also
NetAnalyzer Class
NetAnalyzer Members


NetAnalyzer Fields

NetAnalyzer Fields Debug Diagnostics Tool 2.1 DebugDiag
The NetAnalyzer type exposes the following members.
Fields
 | Name | Description
Public field | AnalysisRuleInfos | Field that holds a list of AnalysisRuleInfo objects
Public field | ImagePath | Field where the compiled modules are located in case a minidump is used in order to help resolving symbols
Public field | Progress | Field that holds an instance of the NetProgress object used by the NetAnalyzer
Public field | SymbolPath | Field where the symbols path information is stored
Back to Top
See Also
NetAnalyzer Class


AnalysisRuleInfos Field

NetAnalyzer AnalysisRuleInfos Field Debug Diagnostics Tool 2.1 DebugDiag
Field that holds a list of AnalysisRuleInfo objects

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public List<AnalysisRuleInfo> AnalysisRuleInfos
public List<AnalysisRuleInfo> AnalysisRuleInfos
Public AnalysisRuleInfos As List(Of AnalysisRuleInfo)
Public AnalysisRuleInfos As List(Of AnalysisRuleInfo)
public:
List<AnalysisRuleInfo^>^ AnalysisRuleInfos
public:
List<AnalysisRuleInfo^>^ AnalysisRuleInfos
See Also
NetAnalyzer Class
NetAnalyzer Members


ImagePath Field

NetAnalyzer ImagePath Field Debug Diagnostics Tool 2.1 DebugDiag
Field where the compiled modules are located in case a minidump is used in order to help resolving symbols

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ImagePath
public string ImagePath
Public ImagePath As String
Public ImagePath As String
public:
String^ ImagePath
public:
String^ ImagePath
See Also
NetAnalyzer Class
NetAnalyzer Members


Progress Field

NetAnalyzer Progress Field Debug Diagnostics Tool 2.1 DebugDiag
Field that holds an instance of the NetProgress object used by the NetAnalyzer

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetProgress Progress
public NetProgress Progress
Public Progress As NetProgress
Public Progress As NetProgress
public:
NetProgress^ Progress
public:
NetProgress^ Progress
See Also
NetAnalyzer Class
NetAnalyzer Members


SymbolPath Field

NetAnalyzer SymbolPath Field Debug Diagnostics Tool 2.1 DebugDiag
Field where the symbols path information is stored

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string SymbolPath
public string SymbolPath
Public SymbolPath As String
Public SymbolPath As String
public:
String^ SymbolPath
public:
String^ SymbolPath
See Also
NetAnalyzer Class
NetAnalyzer Members


NetAnalyzer Methods

NetAnalyzer Methods Debug Diagnostics Tool 2.1 DebugDiag
The NetAnalyzer type exposes the following members.
Methods
 | Name | Description
Public method | AddAnalysisRulesToRunList(Assembly) | Add all possible analysis rules found in the assembly provided. Analysis rules must be public classes which implement one of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule
Public method | AddAnalysisRulesToRunList(String, Boolean) | Add all possible analysis rules found at the path provided. Analysis rules must be public classes which implement one or more of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule.
Public method | AddAnalysisRuleToRunList(String) |
Public method | AddAnalysisRuleToRunList(Type) | Add all possible analysis rules found in the type provided. Analysis rules must be public classes which implement one or more of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule.
Public method | AddAnalysisRuleToRunList RuleInstanceType | Add all possible analysis rules found in the type provided. Analysis rules must be public classes which implement one or more of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule.
Public method | AddDumpFile | Add a dump to the list of dumps to be analyzed
Public method | AddDumpFiles | Add a list of dump files to be analyzed
Public method | Dispose | Release all the native resources used by the NetAnalyzer object.
Protected method | Dispose(Boolean) |
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Finalize | (Overrides Online Object Finalize .)
Public method | GetDumpFiles | This property retuns a List of Strings containing the file names of the dumps currently being analyzed .
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Public method | Initialize | Initialize the NetScriptManager Object setting the default properties for the reports
Public method | Kill | This method allows to stop the execution of the rules.
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | RunAnalysisRules | This method will run the scripts added with AddAnalysisRulesToRunList(String, Boolean) on the dump files added to be analyzed. A NetProgress object can be passed to display the progress of the analysis, as well as the symbol path used during the analysis, and the path where the report will be generated for the analysis.
Public method | ShowReportFiles | This function will show the reports that where generated on IE
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
NetAnalyzer Class


AddAnalysisRulesToRunList Method

NetAnalyzer AddAnalysisRulesToRunList Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | AddAnalysisRulesToRunList(Assembly) | Add all possible analysis rules found in the assembly provided. Analysis rules must be public classes which implement one of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule
Public method | AddAnalysisRulesToRunList(String, Boolean) | Add all possible analysis rules found at the path provided. Analysis rules must be public classes which implement one or more of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule.
Back to Top
See Also
NetAnalyzer Class
NetAnalyzer Members


AddAnalysisRulesToRunList Method (Assembly)

NetAnalyzer AddAnalysisRulesToRunList Method (Assembly) Debug Diagnostics Tool 2.1 DebugDiag
Add all possible analysis rules found in the assembly provided. Analysis rules must be public classes which implement one of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool AddAnalysisRulesToRunList(
    Assembly assembly
)
public bool AddAnalysisRulesToRunList(
    Assembly assembly
)
Public Function AddAnalysisRulesToRunList ( _
    assembly As Assembly _
) As Boolean
Public Function AddAnalysisRulesToRunList ( _
    assembly As Assembly _
) As Boolean
public:
bool AddAnalysisRulesToRunList(
    Assembly^ assembly
)
public:
bool AddAnalysisRulesToRunList(
    Assembly^ assembly
)
Parameters
assembly
Type:   Online System.Reflection Assembly
Assembly containing the Rules to be added
Return Value
True if any analysis rues were found.  otherwise false
Exceptions
Exception | Condition
DebugDiag.DotNet.AnalysisRules NoValidAnalysisRulesFoundException |
See Also
NetAnalyzer Class
NetAnalyzer Members
AddAnalysisRulesToRunList Overload


AddAnalysisRulesToRunList Method (String, Boolean)

NetAnalyzer AddAnalysisRulesToRunList Method (String, Boolean) Debug Diagnostics Tool 2.1 DebugDiag
Add all possible analysis rules found at the path provided. Analysis rules must be public classes which implement one or more of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool AddAnalysisRulesToRunList(
    string path,
    bool recurse = false
)
public bool AddAnalysisRulesToRunList(
    string path,
    bool recurse = false
)
Public Function AddAnalysisRulesToRunList ( _
    path As String, _
    Optional recurse As Boolean = False _
) As Boolean
Public Function AddAnalysisRulesToRunList ( _
    path As String, _
    Optional recurse As Boolean = False _
) As Boolean
public:
bool AddAnalysisRulesToRunList(
    String^ path,
    bool recurse = false
)
public:
bool AddAnalysisRulesToRunList(
    String^ path,
    bool recurse = false
)
Parameters
path
Type:   Online System String
Can point to single assembly, or a to a directory containing multiple assemblies.
recurse (Optional)
Type:   Online System Boolean
Wheter to recursively look for assemblies in subdirectories (if 'path' points to a directory)
Return Value
True if any analysis rues were found.  otherwise false
Exceptions
Exception | Condition
DebugDiag.DotNet.AnalysisRules NoValidAnalysisRulesFoundException |
See Also
NetAnalyzer Class
NetAnalyzer Members
AddAnalysisRulesToRunList Overload


AddAnalysisRuleToRunList Method

NetAnalyzer AddAnalysisRuleToRunList Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | AddAnalysisRuleToRunList RuleInstanceType | Add all possible analysis rules found in the type provided. Analysis rules must be public classes which implement one or more of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule.
Public method | AddAnalysisRuleToRunList(String) |
Public method | AddAnalysisRuleToRunList(Type) | Add all possible analysis rules found in the type provided. Analysis rules must be public classes which implement one or more of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule.
Back to Top
See Also
NetAnalyzer Class
NetAnalyzer Members


AddAnalysisRuleToRunList(RuleInstanceType) Method

NetAnalyzer AddAnalysisRuleToRunList RuleInstanceType Method Debug Diagnostics Tool 2.1 DebugDiag
Add all possible analysis rules found in the type provided. Analysis rules must be public classes which implement one or more of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool AddAnalysisRuleToRunList<RuleInstanceType>()
public bool AddAnalysisRuleToRunList<RuleInstanceType>()
Public Function AddAnalysisRuleToRunList(Of RuleInstanceType) As Boolean
Public Function AddAnalysisRuleToRunList(Of RuleInstanceType) As Boolean
public:
generic<typename RuleInstanceType>
bool AddAnalysisRuleToRunList()
public:
generic<typename RuleInstanceType>
bool AddAnalysisRuleToRunList()
Type Parameters
RuleInstanceType
Type of the rule to be added
Return Value
True if any analysis rues were found.  otherwise false
Exceptions
Exception | Condition
DebugDiag.DotNet.AnalysisRules NoValidAnalysisRulesFoundException |
See Also
NetAnalyzer Class
NetAnalyzer Members
AddAnalysisRuleToRunList Overload


AddAnalysisRuleToRunList Method (String)

NetAnalyzer AddAnalysisRuleToRunList Method (String) Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool AddAnalysisRuleToRunList(
    string pathOrType
)
public bool AddAnalysisRuleToRunList(
    string pathOrType
)
Public Function AddAnalysisRuleToRunList ( _
    pathOrType As String _
) As Boolean
Public Function AddAnalysisRuleToRunList ( _
    pathOrType As String _
) As Boolean
public:
bool AddAnalysisRuleToRunList(
    String^ pathOrType
)
public:
bool AddAnalysisRuleToRunList(
    String^ pathOrType
)
Parameters
pathOrType
Type:   Online System String
Return Value
True if any analysis rues were found.  otherwise false
Exceptions
Exception | Condition
DebugDiag.DotNet.AnalysisRules NoValidAnalysisRulesFoundException |
See Also
NetAnalyzer Class
NetAnalyzer Members
AddAnalysisRuleToRunList Overload


AddAnalysisRuleToRunList Method (Type)

NetAnalyzer AddAnalysisRuleToRunList Method (Type) Debug Diagnostics Tool 2.1 DebugDiag
Add all possible analysis rules found in the type provided. Analysis rules must be public classes which implement one or more of the interfaces deriving from DebugDiag.DotNet.AnalysisRules.IAnalysisRule.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool AddAnalysisRuleToRunList(
    Type ruleInstanceType
)
public bool AddAnalysisRuleToRunList(
    Type ruleInstanceType
)
Public Function AddAnalysisRuleToRunList ( _
    ruleInstanceType As Type _
) As Boolean
Public Function AddAnalysisRuleToRunList ( _
    ruleInstanceType As Type _
) As Boolean
public:
bool AddAnalysisRuleToRunList(
    Type^ ruleInstanceType
)
public:
bool AddAnalysisRuleToRunList(
    Type^ ruleInstanceType
)
Parameters
ruleInstanceType
Type:   Online System Type
System.Type for the rule to be added
Return Value
True if any analysis rues were found.  otherwise false
Exceptions
Exception | Condition
DebugDiag.DotNet.AnalysisRules NoValidAnalysisRulesFoundException |
See Also
NetAnalyzer Class
NetAnalyzer Members
AddAnalysisRuleToRunList Overload


AddDumpFile Method

NetAnalyzer AddDumpFile Method Debug Diagnostics Tool 2.1 DebugDiag
Add a dump to the list of dumps to be analyzed

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void AddDumpFile(
    string dumpFile,
    string symbolPath
)
public void AddDumpFile(
    string dumpFile,
    string symbolPath
)
Public Sub AddDumpFile ( _
    dumpFile As String, _
    symbolPath As String _
)
Public Sub AddDumpFile ( _
    dumpFile As String, _
    symbolPath As String _
)
public:
void AddDumpFile(
    String^ dumpFile,
    String^ symbolPath
)
public:
void AddDumpFile(
    String^ dumpFile,
    String^ symbolPath
)
Parameters
dumpFile
Type:   Online System String
Dump file name with full path
symbolPath
Type:   Online System String
String that contains the symbol location
See Also
NetAnalyzer Class
NetAnalyzer Members


AddDumpFiles Method

NetAnalyzer AddDumpFiles Method Debug Diagnostics Tool 2.1 DebugDiag
Add a list of dump files to be analyzed

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void AddDumpFiles(
    List<string> dumpFiles,
    string symbolPath
)
public void AddDumpFiles(
    List<string> dumpFiles,
    string symbolPath
)
Public Sub AddDumpFiles ( _
    dumpFiles As List(Of String), _
    symbolPath As String _
)
Public Sub AddDumpFiles ( _
    dumpFiles As List(Of String), _
    symbolPath As String _
)
public:
void AddDumpFiles(
    List<String^>^ dumpFiles,
    String^ symbolPath
)
public:
void AddDumpFiles(
    List<String^>^ dumpFiles,
    String^ symbolPath
)
Parameters
dumpFiles
Type:   Online System.Collections.Generic List    Online String
List of strings containing the dump file names with full path information
symbolPath
Type:   Online System String
String that contains the symbol location
See Also
NetAnalyzer Class
NetAnalyzer Members


Dispose Method

NetAnalyzer Dispose Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | Dispose | Release all the native resources used by the NetAnalyzer object.
Protected method | Dispose(Boolean) | Releases the unmanaged resources used by the NetAnalyzer and optionally releases the managed resources
Back to Top
See Also
NetAnalyzer Class
NetAnalyzer Members


Dispose Method

NetAnalyzer Dispose Method Debug Diagnostics Tool 2.1 DebugDiag
Release all the native resources used by the NetAnalyzer object.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void Dispose()
public void Dispose()
Public Sub Dispose
Public Sub Dispose
public:
virtual void Dispose() sealed
public:
virtual void Dispose() sealed
Implements
  Online IDisposable Dispose
See Also
NetAnalyzer Class
NetAnalyzer Members
Dispose Overload


Dispose Method (Boolean)

NetAnalyzer Dispose Method (Boolean) Debug Diagnostics Tool 2.1 DebugDiag
Releases the unmanaged resources used by the NetAnalyzer and optionally releases the managed resources

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected virtual void Dispose(
    bool disposing
)
protected virtual void Dispose(
    bool disposing
)
Protected Overridable Sub Dispose ( _
    disposing As Boolean _
)
Protected Overridable Sub Dispose ( _
    disposing As Boolean _
)
protected:
virtual void Dispose(
    bool disposing
)
protected:
virtual void Dispose(
    bool disposing
)
Parameters
disposing
Type:   Online System Boolean
True to release both managed and unmanaged resources; false to release only unmanaged resources
See Also
NetAnalyzer Class
NetAnalyzer Members
Dispose Overload


Finalize Method

NetAnalyzer Finalize Method Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected override void Finalize()
protected override void Finalize()
Protected Overrides Sub Finalize
Protected Overrides Sub Finalize
protected:
virtual void Finalize() override
protected:
virtual void Finalize() override
See Also
NetAnalyzer Class
NetAnalyzer Members


GetDumpFiles Method

NetAnalyzer GetDumpFiles Method Debug Diagnostics Tool 2.1 DebugDiag
This property retuns a List of Strings containing the file names of the dumps currently being analyzed .

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public List<string> GetDumpFiles()
public List<string> GetDumpFiles()
Public Function GetDumpFiles As List(Of String)
Public Function GetDumpFiles As List(Of String)
public:
List<String^>^ GetDumpFiles()
public:
List<String^>^ GetDumpFiles()
Return Value
List of strings with the file name and paths of the dumps
See Also
NetAnalyzer Class
NetAnalyzer Members


Initialize Method

NetAnalyzer Initialize Method Debug Diagnostics Tool 2.1 DebugDiag
Initialize the NetScriptManager Object setting the default properties for the reports

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void Initialize(
    bool includeSourceAndLineInformationInAnalysisReports,
    bool setContextOnCrashDumps,
    bool doHangAnalysisOnCrashDumps,
    bool includeHttpHeadersInClientConns
)
public void Initialize(
    bool includeSourceAndLineInformationInAnalysisReports,
    bool setContextOnCrashDumps,
    bool doHangAnalysisOnCrashDumps,
    bool includeHttpHeadersInClientConns
)
Public Sub Initialize ( _
    includeSourceAndLineInformationInAnalysisReports As Boolean, _
    setContextOnCrashDumps As Boolean, _
    doHangAnalysisOnCrashDumps As Boolean, _
    includeHttpHeadersInClientConns As Boolean _
)
Public Sub Initialize ( _
    includeSourceAndLineInformationInAnalysisReports As Boolean, _
    setContextOnCrashDumps As Boolean, _
    doHangAnalysisOnCrashDumps As Boolean, _
    includeHttpHeadersInClientConns As Boolean _
)
public:
void Initialize(
    bool includeSourceAndLineInformationInAnalysisReports,
    bool setContextOnCrashDumps,
    bool doHangAnalysisOnCrashDumps,
    bool includeHttpHeadersInClientConns
)
public:
void Initialize(
    bool includeSourceAndLineInformationInAnalysisReports,
    bool setContextOnCrashDumps,
    bool doHangAnalysisOnCrashDumps,
    bool includeHttpHeadersInClientConns
)
Parameters
includeSourceAndLineInformationInAnalysisReports
Type:   Online System Boolean
Boolean value to include source and line information on the report when true.
setContextOnCrashDumps
Type:   Online System Boolean
Boolean value to get the context of the exception for crash dumps when set to true.
doHangAnalysisOnCrashDumps
Type:   Online System Boolean
Boolean value to perform a combined Crash and Hang Analysis when set to true
includeHttpHeadersInClientConns
Type:   Online System Boolean
Boolean value to include HEader information on Client connection information for web applications.
See Also
NetAnalyzer Class
NetAnalyzer Members


Kill Method

NetAnalyzer Kill Method Debug Diagnostics Tool 2.1 DebugDiag
This method allows to stop the execution of the rules.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void Kill()
public void Kill()
Public Sub Kill
Public Sub Kill
public:
void Kill()
public:
void Kill()
See Also
NetAnalyzer Class
NetAnalyzer Members


RunAnalysisRules Method

NetAnalyzer RunAnalysisRules Method Debug Diagnostics Tool 2.1 DebugDiag
This method will run the scripts added with AddAnalysisRulesToRunList(String, Boolean) on the dump files added to be analyzed. A NetProgress object can be passed to display the progress of the analysis, as well as the symbol path used during the analysis, and the path where the report will be generated for the analysis.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void RunAnalysisRules(
    NetProgress progress,
    string symbolPath,
    string imagePath,
    string reportFileDirectoryOrFullPath,
    AnalysisModes analysisMode = AnalysisModes.Interactive
)
public void RunAnalysisRules(
    NetProgress progress,
    string symbolPath,
    string imagePath,
    string reportFileDirectoryOrFullPath,
    AnalysisModes analysisMode = AnalysisModes.Interactive
)
Public Sub RunAnalysisRules ( _
    progress As NetProgress, _
    symbolPath As String, _
    imagePath As String, _
    reportFileDirectoryOrFullPath As String, _
    Optional analysisMode As AnalysisModes = AnalysisModes.Interactive _
)
Public Sub RunAnalysisRules ( _
    progress As NetProgress, _
    symbolPath As String, _
    imagePath As String, _
    reportFileDirectoryOrFullPath As String, _
    Optional analysisMode As AnalysisModes = AnalysisModes.Interactive _
)
public:
void RunAnalysisRules(
    NetProgress^ progress,
    String^ symbolPath,
    String^ imagePath,
    String^ reportFileDirectoryOrFullPath,
    AnalysisModes analysisMode = AnalysisModes::Interactive
)
public:
void RunAnalysisRules(
    NetProgress^ progress,
    String^ symbolPath,
    String^ imagePath,
    String^ reportFileDirectoryOrFullPath,
    AnalysisModes analysisMode = AnalysisModes::Interactive
)
Parameters
progress
Type: DebugDiag.DotNet NetProgress
NetProgress object where the progress will be updated
symbolPath
Type:   Online System String
String representing the symbol path to be used by the debugger to resolve the symbols
imagePath
Type:   Online System String
String rerpresenting the path where the current modules used by the application can be located for analyzing mini dumps.
reportFileDirectoryOrFullPath
Type:   Online System String
If reportFileDirectoryOrFullPath includes a file name, the report will be written to that file.  The file will be overwitten
            Optional parameter to point if the rule is being ran interactively (by default) or automated.
            if it already exists.  If reportFileDirectoryOrFullPath is a directory, the file name will be constructed automatically using a combination of factors
            such as the process name in the target dump(s) and the name(s) of the rule(s) being executed.
analysisMode (Optional)
Type: DebugDiag.DotNet.AnalysisRules AnalysisModes
See Also
NetAnalyzer Class
NetAnalyzer Members


ShowReportFiles Method

NetAnalyzer ShowReportFiles Method Debug Diagnostics Tool 2.1 DebugDiag
This function will show the reports that where generated on IE

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool ShowReportFiles(
    DumpFileType type = DumpFileType.None|DumpFileType._32bitWithoutClr|DumpFileType._32bitWithClr|DumpFileType._32bitAll|DumpFileType._64bitWithoutClr|DumpFileType._64bitWithClr|DumpFileType._64bitAll
)
public bool ShowReportFiles(
    DumpFileType type = DumpFileType.None|DumpFileType._32bitWithoutClr|DumpFileType._32bitWithClr|DumpFileType._32bitAll|DumpFileType._64bitWithoutClr|DumpFileType._64bitWithClr|DumpFileType._64bitAll
)
Public Function ShowReportFiles ( _
    Optional type As DumpFileType = DumpFileType.None Or DumpFileType._32bitWithoutClr Or DumpFileType._32bitWithClr Or DumpFileType._32bitAll Or DumpFileType._64bitWithoutClr Or DumpFileType._64bitWithClr Or DumpFileType._64bitAll _
) As Boolean
Public Function ShowReportFiles ( _
    Optional type As DumpFileType = DumpFileType.None Or DumpFileType._32bitWithoutClr Or DumpFileType._32bitWithClr Or DumpFileType._32bitAll Or DumpFileType._64bitWithoutClr Or DumpFileType._64bitWithClr Or DumpFileType._64bitAll _
) As Boolean
public:
bool ShowReportFiles(
    DumpFileType type = DumpFileType::None|DumpFileType::_32bitWithoutClr|DumpFileType::_32bitWithClr|DumpFileType::_32bitAll|DumpFileType::_64bitWithoutClr|DumpFileType::_64bitWithClr|DumpFileType::_64bitAll
)
public:
bool ShowReportFiles(
    DumpFileType type = DumpFileType::None|DumpFileType::_32bitWithoutClr|DumpFileType::_32bitWithClr|DumpFileType::_32bitAll|DumpFileType::_64bitWithoutClr|DumpFileType::_64bitWithClr|DumpFileType::_64bitAll
)
Parameters
type (Optional)
Type: DebugDiag.DotNet DumpFileType
DumpFile type information for the reports that need to be shown
Return Value
Returns true if the reports where successfully launched on IE
See Also
NetAnalyzer Class
NetAnalyzer Members


NetAnalyzer Properties

NetAnalyzer Properties Debug Diagnostics Tool 2.1 DebugDiag
The NetAnalyzer type exposes the following members.
Properties
 | Name | Description
Public property | Manager | Returns an instance of the NetScriptManager object.
Public property | ReportFileNames | This property returns a string array containing the Report File names generated by the analysis rules executed.
Public property | ReportReady | This property returns True if the report has been completely generated, otherwise it returns false.
Public property | x86AnalysisHostErrors | On 64 bits analysis is performed on a different process called DebugDiag.x86AnalysisHost.exe, this property allows the developer to get a list of errors if any, when executing rules against 32 bit dump processes.
Back to Top
See Also
NetAnalyzer Class


Manager Property

NetAnalyzer Manager Property Debug Diagnostics Tool 2.1 DebugDiag
Returns an instance of the NetScriptManager object.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetScriptManager Manager { get; }
public NetScriptManager Manager { get; }
Public ReadOnly Property Manager As NetScriptManager
    Get
Public ReadOnly Property Manager As NetScriptManager
    Get
public:
property NetScriptManager^ Manager {
    NetScriptManager^ get ();
}
public:
property NetScriptManager^ Manager {
    NetScriptManager^ get ();
}
See Also
NetAnalyzer Class
NetAnalyzer Members


ReportFileNames Property

NetAnalyzer ReportFileNames Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a string array containing the Report File names generated by the analysis rules executed.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string[] ReportFileNames { get; }
public string[] ReportFileNames { get; }
Public ReadOnly Property ReportFileNames As String()
    Get
Public ReadOnly Property ReportFileNames As String()
    Get
public:
property array<String^>^ ReportFileNames {
    array<String^>^ get ();
}
public:
property array<String^>^ ReportFileNames {
    array<String^>^ get ();
}
See Also
NetAnalyzer Class
NetAnalyzer Members


ReportReady Property

NetAnalyzer ReportReady Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns True if the report has been completely generated, otherwise it returns false.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool ReportReady { get; }
public bool ReportReady { get; }
Public ReadOnly Property ReportReady As Boolean
    Get
Public ReadOnly Property ReportReady As Boolean
    Get
public:
property bool ReportReady {
    bool get ();
}
public:
property bool ReportReady {
    bool get ();
}
See Also
NetAnalyzer Class
NetAnalyzer Members


x86AnalysisHostErrors Property

NetAnalyzer x86AnalysisHostErrors Property Debug Diagnostics Tool 2.1 DebugDiag
On 64 bits analysis is performed on a different process called DebugDiag.x86AnalysisHost.exe, this property allows the developer to get a list of errors if any, when executing rules against 32 bit dump processes.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string x86AnalysisHostErrors { get; }
public string x86AnalysisHostErrors { get; }
Public ReadOnly Property x86AnalysisHostErrors As String
    Get
Public ReadOnly Property x86AnalysisHostErrors As String
    Get
public:
property String^ x86AnalysisHostErrors {
    String^ get ();
}
public:
property String^ x86AnalysisHostErrors {
    String^ get ();
}
See Also
NetAnalyzer Class
NetAnalyzer Members


NetAnalyzer Events

NetAnalyzer Events Debug Diagnostics Tool 2.1 DebugDiag
The NetAnalyzer type exposes the following members.
Events
 | Name | Description
Public event | OnRuleFilter | Occurs when the RunAnalysisRules method is executed and a rule is executed
Public event | PostExecuteRule | Occurs after the RunAnalysis method has been executed
Public event | PreExecuteRule | Occurs prior to call the RunAnalysis method on the implemented Rule
Back to Top
See Also
NetAnalyzer Class


OnRuleFilter Event

NetAnalyzer OnRuleFilter Event Debug Diagnostics Tool 2.1 DebugDiag
Occurs when the RunAnalysisRules method is executed and a rule is executed

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public event EventHandler<RuleFilterEventArgs> OnRuleFilter
public event EventHandler<RuleFilterEventArgs> OnRuleFilter
Public Event OnRuleFilter As EventHandler(Of RuleFilterEventArgs)
Public Event OnRuleFilter As EventHandler(Of RuleFilterEventArgs)
public:
 event EventHandler<RuleFilterEventArgs^>^ OnRuleFilter {
    void add (EventHandler<RuleFilterEventArgs^>^ value);
    void remove (EventHandler<RuleFilterEventArgs^>^ value);
}
public:
 event EventHandler<RuleFilterEventArgs^>^ OnRuleFilter {
    void add (EventHandler<RuleFilterEventArgs^>^ value);
    void remove (EventHandler<RuleFilterEventArgs^>^ value);
}
See Also
NetAnalyzer Class
NetAnalyzer Members


PostExecuteRule Event

NetAnalyzer PostExecuteRule Event Debug Diagnostics Tool 2.1 DebugDiag
Occurs after the RunAnalysis method has been executed

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public event EventHandler<RuleExecutionEventArgs> PostExecuteRule
public event EventHandler<RuleExecutionEventArgs> PostExecuteRule
Public Event PostExecuteRule As EventHandler(Of RuleExecutionEventArgs)
Public Event PostExecuteRule As EventHandler(Of RuleExecutionEventArgs)
public:
 event EventHandler<RuleExecutionEventArgs^>^ PostExecuteRule {
    void add (EventHandler<RuleExecutionEventArgs^>^ value);
    void remove (EventHandler<RuleExecutionEventArgs^>^ value);
}
public:
 event EventHandler<RuleExecutionEventArgs^>^ PostExecuteRule {
    void add (EventHandler<RuleExecutionEventArgs^>^ value);
    void remove (EventHandler<RuleExecutionEventArgs^>^ value);
}
See Also
NetAnalyzer Class
NetAnalyzer Members


PreExecuteRule Event

NetAnalyzer PreExecuteRule Event Debug Diagnostics Tool 2.1 DebugDiag
Occurs prior to call the RunAnalysis method on the implemented Rule

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public event EventHandler<RuleExecutionEventArgs> PreExecuteRule
public event EventHandler<RuleExecutionEventArgs> PreExecuteRule
Public Event PreExecuteRule As EventHandler(Of RuleExecutionEventArgs)
Public Event PreExecuteRule As EventHandler(Of RuleExecutionEventArgs)
public:
 event EventHandler<RuleExecutionEventArgs^>^ PreExecuteRule {
    void add (EventHandler<RuleExecutionEventArgs^>^ value);
    void remove (EventHandler<RuleExecutionEventArgs^>^ value);
}
public:
 event EventHandler<RuleExecutionEventArgs^>^ PreExecuteRule {
    void add (EventHandler<RuleExecutionEventArgs^>^ value);
    void remove (EventHandler<RuleExecutionEventArgs^>^ value);
}
See Also
NetAnalyzer Class
NetAnalyzer Members


NetDbgException Class

NetDbgException Class Debug Diagnostics Tool 2.1 DebugDiag
This object represents an exception record. It is obtained by calling the NetDbgObj.Exception or NetDbgObj.GetExceptionObjectFromAddress methods of the NetDbgObj object.
Inheritance Hierarchy
Online System Object
DebugDiag.DotNet NetDbgException

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class NetDbgException
public class NetDbgException
Public Class NetDbgException
Public Class NetDbgException
public ref class NetDbgException
public ref class NetDbgException
Remarks
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
//Create an instance of the NetAnalyzer object to access the NetScriptManager
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    if (debugger.IsCrashDump)
    {
        //Gets a reference to the Native Exception that happened
        NetDbgException exc = debugger.NativeException;

        manager.WriteLine("This is a crash dump");
        manager.WriteLine("The exception address is: " + debugger.GetAs32BitHexString(exc.ExceptionAddress));
        manager.WriteLine("The exception number is: " + debugger.GetAs32BitHexString(exc.ExceptionCode));
    }
    else
        manager.WriteLine("This is not a crash dump");

    //Release Debugger native resources
    debugger.Dispose();
}
//Create an instance of the NetAnalyzer object to access the NetScriptManager
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    if (debugger.IsCrashDump)
    {
        //Gets a reference to the Native Exception that happened
        NetDbgException exc = debugger.NativeException;

        manager.WriteLine("This is a crash dump");
        manager.WriteLine("The exception address is: " + debugger.GetAs32BitHexString(exc.ExceptionAddress));
        manager.WriteLine("The exception number is: " + debugger.GetAs32BitHexString(exc.ExceptionCode));
    }
    else
        manager.WriteLine("This is not a crash dump");

    //Release Debugger native resources
    debugger.Dispose();
}
See Also
NetDbgException Members


NetDbgException Members

NetDbgException Members Debug Diagnostics Tool 2.1 DebugDiag

The NetDbgException type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | GetExceptionParam | This property returns an exception parameter if any are available. This property takes an integer that is a zero based index of the parameter to retrieve. Call the NetDbgException.NumberParameters property to retrieve the number of parameters.
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Properties
 | Name | Description
Public property | Debugger | Returns a Reference for the NetDbgObj
Public property | ExceptionAddress | This property returns the address the exception occurred at. This address can be used to determine what module caused the exception to occur by calling the NetDbgObj.GetModuleByAddress method.
Public property | ExceptionCode | This property returns the exception value of the exception record.
Public property | ExceptionFlags | This property returns the exception flags of the exception record.
Public property | NestedExceptionAddress |
Public property | NumberParameters | This property returns a count of the number of parameters associated with the exception record.
Back to Top
See Also
NetDbgException Class


NetDbgException Methods

NetDbgException Methods Debug Diagnostics Tool 2.1 DebugDiag
The NetDbgException type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | GetExceptionParam | This property returns an exception parameter if any are available. This property takes an integer that is a zero based index of the parameter to retrieve. Call the NetDbgException.NumberParameters property to retrieve the number of parameters.
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
NetDbgException Class


GetExceptionParam Method

NetDbgException GetExceptionParam Method Debug Diagnostics Tool 2.1 DebugDiag
This property returns an exception parameter if any are available. This property takes an integer that is a zero based index of the parameter to retrieve. Call the NetDbgException.NumberParameters property to retrieve the number of parameters.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double GetExceptionParam(
    int index
)
public double GetExceptionParam(
    int index
)
Public Function GetExceptionParam ( _
    index As Integer _
) As Double
Public Function GetExceptionParam ( _
    index As Integer _
) As Double
public:
double GetExceptionParam(
    int index
)
public:
double GetExceptionParam(
    int index
)
Parameters
index
Type:   Online System Int32
Integer value to point the index of the parameter to retrieve
Return Value
Double value representing the value found on the specified parameter
See Also
NetDbgException Class
NetDbgException Members


NetDbgException Properties

NetDbgException Properties Debug Diagnostics Tool 2.1 DebugDiag
The NetDbgException type exposes the following members.
Properties
 | Name | Description
Public property | Debugger | Returns a Reference for the NetDbgObj
Public property | ExceptionAddress | This property returns the address the exception occurred at. This address can be used to determine what module caused the exception to occur by calling the NetDbgObj.GetModuleByAddress method.
Public property | ExceptionCode | This property returns the exception value of the exception record.
Public property | ExceptionFlags | This property returns the exception flags of the exception record.
Public property | NestedExceptionAddress |
Public property | NumberParameters | This property returns a count of the number of parameters associated with the exception record.
Back to Top
See Also
NetDbgException Class


Debugger Property

NetDbgException Debugger Property Debug Diagnostics Tool 2.1 DebugDiag
Returns a Reference for the NetDbgObj

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetDbgObj Debugger { get; }
public NetDbgObj Debugger { get; }
Public ReadOnly Property Debugger As NetDbgObj
    Get
Public ReadOnly Property Debugger As NetDbgObj
    Get
public:
property NetDbgObj^ Debugger {
    NetDbgObj^ get ();
}
public:
property NetDbgObj^ Debugger {
    NetDbgObj^ get ();
}
See Also
NetDbgException Class
NetDbgException Members


ExceptionAddress Property

NetDbgException ExceptionAddress Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the address the exception occurred at. This address can be used to determine what module caused the exception to occur by calling the NetDbgObj.GetModuleByAddress method.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double ExceptionAddress { get; }
public double ExceptionAddress { get; }
Public ReadOnly Property ExceptionAddress As Double
    Get
Public ReadOnly Property ExceptionAddress As Double
    Get
public:
property double ExceptionAddress {
    double get ();
}
public:
property double ExceptionAddress {
    double get ();
}
See Also
NetDbgException Class
NetDbgException Members


ExceptionCode Property

NetDbgException ExceptionCode Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the exception value of the exception record.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double ExceptionCode { get; }
public double ExceptionCode { get; }
Public ReadOnly Property ExceptionCode As Double
    Get
Public ReadOnly Property ExceptionCode As Double
    Get
public:
property double ExceptionCode {
    double get ();
}
public:
property double ExceptionCode {
    double get ();
}
See Also
NetDbgException Class
NetDbgException Members


ExceptionFlags Property

NetDbgException ExceptionFlags Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the exception flags of the exception record.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double ExceptionFlags { get; }
public double ExceptionFlags { get; }
Public ReadOnly Property ExceptionFlags As Double
    Get
Public ReadOnly Property ExceptionFlags As Double
    Get
public:
property double ExceptionFlags {
    double get ();
}
public:
property double ExceptionFlags {
    double get ();
}
See Also
NetDbgException Class
NetDbgException Members


NestedExceptionAddress Property

NetDbgException NestedExceptionAddress Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double NestedExceptionAddress { get; }
public double NestedExceptionAddress { get; }
Public ReadOnly Property NestedExceptionAddress As Double
    Get
Public ReadOnly Property NestedExceptionAddress As Double
    Get
public:
property double NestedExceptionAddress {
    double get ();
}
public:
property double NestedExceptionAddress {
    double get ();
}
See Also
NetDbgException Class
NetDbgException Members


NumberParameters Property

NetDbgException NumberParameters Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a count of the number of parameters associated with the exception record.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int NumberParameters { get; }
public int NumberParameters { get; }
Public ReadOnly Property NumberParameters As Integer
    Get
Public ReadOnly Property NumberParameters As Integer
    Get
public:
property int NumberParameters {
    int get ();
}
public:
property int NumberParameters {
    int get ();
}
See Also
NetDbgException Class
NetDbgException Members


NetDbgObj Class

NetDbgObj Class Debug Diagnostics Tool 2.1 DebugDiag
This object represents an instance of the debugger. An instance of this object is obtained from the GetDebugger(String) method of the NetScriptManager object.
Inheritance Hierarchy
Online System Object
DebugDiag.DotNet NetDbgObj

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class NetDbgObj : IDisposable
public class NetDbgObj : IDisposable
Public Class NetDbgObj _
    Implements IDisposable
Public Class NetDbgObj _
    Implements IDisposable
public ref class NetDbgObj : IDisposable
public ref class NetDbgObj : IDisposable
Remarks
Examples

            This sample shows how to get a reference of the debugger instance.

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
//Declares an instance of NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    //... your code goes here

    // Dispose debugger object to free unmanaged resources
    debugger.Dispose();
}
//Declares an instance of NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    //... your code goes here

    // Dispose debugger object to free unmanaged resources
    debugger.Dispose();
}
See Also
NetDbgObj Members


NetDbgObj Members

NetDbgObj Members Debug Diagnostics Tool 2.1 DebugDiag

The NetDbgObj type exposes the following members.
Methods
Name Description
Public method AddCodeBreakpoint
Allows to set a breakpoint while in live debugging
Public method CreateDump
This method creates a user dump of the debuggee process.
Public method CreateDumpForProcessID
This method is similar to CreateDump(String, Boolean, Boolean) method but can be used to create user dumps for processes other than debuggee process.
Public method CreateDumpForProcessName
This method is similar to CreateDump(String, Boolean, Boolean) method but can be used to create user dumps for processes other than debuggee process.
Public method CreateProcessList
This method will generate a log file with the current list of running processes on the system. This method will work for a live debugging target only. The file is placed in the path specified by the NetDbgObj.DumpPath, otherwise it is placed in the \DebugDiag\Logs\Misc directory.
Public method Detach
This method can be called to detach the DbgHost.exe from a target process that it is currently debugging. This call is asynchronous, and returns immediately even if the debugger has not attached.
Public method Dispose
Disposes the object and release all native resources.
Protected method Dispose(Boolean)
Releases the unmanaged resources used by the NetDbgObj and optionally releases the managed resources
Public method EnumerateHeap
This function returns a collection of uLong type repressenting the address of the objects found on the heap of the type specified on the parameter
Public method EnumerateHeapExceptionObjects
This property returns a IEnumerable collection of ClrException objects, containing all the managed Exceptions found on the managed heap.
Public method EnumerateHeapObjects
This property returns a IEnumerable collection of ClrObject objects, containing all the managed objects found on the managed heap.
Public method EnumerateHeapObjects(String)
This property returns a IEnumerable collection of ClrObject objects found on the managed heap, filtered by the value specified on typeName parameter.
Public method Online Equals
Determines whether the specified Online Object is equal to the current Online Object.
(Inherited from Online Object.)
Public method Execute
This method executes a debugger command and returns the output of that command.
Examples
This example shows how to evaluate an expression on the debugger:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.Execute("? 8+2");
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.Execute("? 8+2");
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Evaluate expression: 10 = 0000000a
Evaluate expression: 10 = 0000000a

            Results are:

  Protected method    Online Finalize
Allows an   Online Object to attempt to free resources and perform other cleanup operations before the   Online Object is reclaimed by garbage collection.
 (Inherited from   Online Object.)
  Public method  FindFirstHeapObject

            This method returns the first object that is found on the heap that matches the type specified on the parameter.

  Public method  GetAs32BitHexString(Double)

            This method returns a 32-Bit string representation of a Double value.

Examples
This example shows how to get the 32-Bit string representation of a Double value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x010ed48c
0x010ed48c

            Results are:

  Public method  GetAs32BitHexString(UInt64)

            This method returns a 32-Bit string representation of a Uint64 value.

Examples
This example shows how to get the 32-Bit string representation of a Uint64 value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(0x010ed48cUL);
    manager.Write(strResults);.

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(0x010ed48cUL);
    manager.Write(strResults);.

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x010ed48c
0x010ed48c

            Results are:

  Public method  GetAs32BitHexString(UIntPtr)

            This method returns a 32-Bit string representation of a UIntPtr value.

Examples
This example shows how to get the 32-Bit string representation of a UIntPtr value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(new UIntPtr(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(new UIntPtr(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x010ed48c
0x010ed48c

            Results are:

  Public method  GetAs64BitHexString(Double)

            This method returns a 64-Bit string representation of a double value.

Examples
This example shows how to get the 64-Bit string representation of a double value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x00000000`010ed48c
0x00000000`010ed48c

            Results are:

  Public method  GetAs64BitHexString(UInt64)

            This method returns a 64-Bit string representation of a UInt64 value.

Examples
This example shows how to get the 64-Bit string representation of a UInt64 value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x00000000`010ed48c
0x00000000`010ed48c

            Results are:

  Public method  GetAs64BitHexString(UIntPtr)

            This method returns a 64-Bit string representation of a UIntPtr value.

Examples
This example shows how to get the 64-Bit string representation of a UIntPtr value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(new UIntPtr(0x010ed48cUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(new UIntPtr(0x010ed48cUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x00000000`010ed48c
0x00000000`010ed48c

            Results are:

  Public method  GetBreakpoint

            Returns an instance of a COM object that implements the IDbgBreakPoint interface

  Public method  GetExceptionObjectFromAddress

            Use this mehtod to obtain an instance of a NetDbgException object.

  Public method  GetExtensionObject

            Returns an instance of one of the extension object. For example: HTTPInfo, ASPInfo etc.

Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");
    var utilExt = debugger.GetExtensionObject("CrashHangExt", "Utils");
    var utilExt = debugger.GetExtensionObject("IISInfo", "HTTPInfo");
    ...

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");
    var utilExt = debugger.GetExtensionObject("CrashHangExt", "Utils");
    var utilExt = debugger.GetExtensionObject("IISInfo", "HTTPInfo");
    ...

    //Release Debugger native resources
    debugger.Dispose();
}

  Public method    Online GetHashCode
Serves as a hash function for a particular type.
 (Inherited from   Online Object.)
  Public method  GetModuleByAddress(Double)

            Returns an instance of a DbgModule object .

  Public method  GetModuleByAddress(UInt64)

            Returns an instance of a DbgModule object .

  Public method  GetModuleByAddress(UIntPtr)

            Returns an instance of a DbgModule object .

  Public method  GetModuleByModuleName

            Returns an instance of a DbgModule object.

  Public method  GetSourceInfoFromAddress(Double)

            Returns the source code line information for the address passed into the function.

Examples
This example shows how to get the source code line infromation of a given code address

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress((double)0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress((double)0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c

            Results are:

  Public method  GetSourceInfoFromAddress(UInt64)

            Returns the source code line information for the address passed into the function.

Examples
This example shows how to get the source code line infromation of a given code address

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c

            Results are:

  Public method  GetSourceInfoFromAddress(UIntPtr)

            Returns the source code line information for the address passed into the function.

Examples
This example shows how to get the source code line infromation of a given code address

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(new UIntPtr(0x77f88553UL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(new UIntPtr(0x77f88553UL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c

            Results are:

  Public method  GetSymbolFromAddress(Double)

            Returns the symbol information for the address passed into the function.

Examples
This example shows how to get the symbols infromation for a given address:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress((double)0x79222b54UL);
    manager.Write(strResults);

    //Release Debugger native objects
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress((double)0x79222b54UL);
    manager.Write(strResults);

    //Release Debugger native objects
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
w3svc!HTTP_REQUEST::`vftable'
w3svc!HTTP_REQUEST::`vftable'

            Results are:

  Public method  GetSymbolFromAddress(UInt64)

            Returns the symbol information for the address passed into the function.

Examples
This example shows how to get the symbols infromation for a given address:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(0x79222b54UL);
    manager.Write(strResults);

    //Release debugger native objects
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(0x79222b54UL);
    manager.Write(strResults);

    //Release debugger native objects
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
w3svc!HTTP_REQUEST::`vftable'
w3svc!HTTP_REQUEST::`vftable'

            Results are:

  Public method  GetSymbolFromAddress(UIntPtr)

            Returns the symbol information for the address passed into the function.

Examples
This example shows how to get the symbols infromation for a given address:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(new UIntPtr(0x79222b54UL));

    //Writes the results on the report
    manager.Write(strResults);
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(new UIntPtr(0x79222b54UL));

    //Writes the results on the report
    manager.Write(strResults);
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
w3svc!HTTP_REQUEST::`vftable'
w3svc!HTTP_REQUEST::`vftable'

            Results are:

  Public method  GetThreadByManagedThreadId

            This method returns an instance of a NetDbgThread object based on the system managed thread ID passed into the function.

  Public method  GetThreadBySystemID

            This method returns an instance of a NetDbgThread object based on the system thread ID passed into the function.

  Public method    Online GetType
Gets the   Online Type of the current instance.
 (Inherited from   Online Object.)
  Public method  InjectLeakTrack

            This method loads (injects) LeakTrack into the debuggee process. This starts memory and handle leak tracking in the debuggee process.  Applicable for live debugging only.

  Public method  IsLeakTrackLoaded

            Method that will return true if leaktrack module has been loaded on the process pointed on the parameter

  Public method  Kill

            This function will stop the debugger.

  Protected method    Online MemberwiseClone
Creates a shallow copy of the current   Online Object.
 (Inherited from   Online Object.)
     OpenDump

            This method creates a NetDbgObj that represents an instance of the debugger using a Dumpfile and optionaly other paramaters

  Public method  ReadANSIString(Double)

            This method tries to read the address passed into the function as an ANSI string and return that string.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString((double)0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString((double)0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadANSIString(UInt64)

            This method tries to read the address passed into the function as an ANSI string and return that string.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadANSIString(UIntPtr)

            This method tries to read the address passed into the function as an ANSI string and return that string.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(new UIntPtr(0x010ced71UL));
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(new UIntPtr(0x010ced71UL));
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadByte(Double)

            This method reads an 8-Bit value at the address that is passed into the function and returns it as an Integer value.

  Public method  ReadByte(UInt64)

            This method reads an 8-Bit value at the address that is passed into the function and returns it as an Integer value.

  Public method  ReadByte(UIntPtr)

            This method reads an 8-Bit value at the address that is passed into the function and returns it as an Integer value.

  Public method  ReadDWord(Double)

            This method reads 32-Bits of data at the address passed into the function and returns it as a Double value.

  Public method  ReadDWord(UInt64)

            This method reads 32-Bits of data at the address passed into the function and returns it as a Double value.

  Public method  ReadDWord(UIntPtr)

            This method reads 32-Bits of data at the address passed into the function and returns it as a Double value.

  Public method  ReadQWord(Double)

            This method reads 64-Bits of data at the address passed into the function and returns it as a Double value.

  Public method  ReadQWord(UInt64)

            This method reads 64-Bits of data at the address passed into the function and returns it as a Double value.

  Public method  ReadQWord(UIntPtr)

            This method reads 64-Bits of data at the address passed into the function and returns it as a Double value.

  Public method  ReadString(Double, Boolean)

            This method tries to read the address passed into the function as an ANSI string if the Boolean value passed in is False, or as a Unicode string if the Boolean value passed in is True.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString((double)0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString((double)0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadString(UInt64, Boolean)

            This method tries to read the address passed into the function as an ANSI string if the Boolean value passed in is False, or as a Unicode string if the Boolean value passed in is True.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadString(UIntPtr, Boolean)

            This method tries to read the address passed into the function as an ANSI string if the Boolean value passed in is False, or as a Unicode string if the Boolean value passed in is True.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(new UIntPtr(0x010ced71UL), false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(new UIntPtr(0x010ced71UL), false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadUnicodeString(Double)

            This method tries to read the address passed into the function as an UNICODE string and return that string.

Examples
This example shows how to use the ReadUnicodeString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString((double)0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString((double)0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Hello World!
Hello World!

            Results are:

  Public method  ReadUnicodeString(UInt64)

            This method tries to read the address passed into the function as an UNICODE string and return that string.

Examples
This example shows how to use the ReadUnicodeString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Hello World!
Hello World!

            Results are:

  Public method  ReadUnicodeString(UIntPtr)

            This method tries to read the address passed into the function as an UNICODE string and return that string.

Examples
This example shows how to use the ReadUnicodeString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(new UIntPtr(0x010caf8fUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(new UIntPtr(0x010caf8fUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Hello World!
Hello World!

            Results are:

  Public method  ReadWord(Double)

            This method reads 16-Bits of data at the address passed into the function and returns it as an Integer value.

  Public method  ReadWord(UInt64)

            This method reads 16-Bits of data at the address passed into the function and returns it as an Integer value.

  Public method  ReadWord(UIntPtr)

            This method reads 16-Bits of data at the address passed into the function and returns it as an Integer value.

  Public method  RemoveBreakpoint

            Allows to remove a breakpoint while in live debugging

  Public method    Online ToString
Returns a   Online String that represents the current   Online Object.
 (Inherited from   Online Object.)
  Public method  UnDecorateSymbol

            This method undecorates decorated C++ symbol names.  The method requires a Pointer to a null-terminated string that specifies a decorated C++ symbol name.
            This name can be identified by the first character of the name, which is always a question mark (?).

  Public method  UnloadExtensions

            This method unloads any NetDbgHost extensions loaded so far. This method is for internal use only and should not be called from any custom analysis rule.

  Public method  Write

            This method is used to write an arbitrary string to the text log file created and maintained by DbgHost. Applicable for live debugging only.

Back to Top
Fields
 | Name | Description
Public field | ClrHeap | A cached reference to the CLR heap, if the heap is walkable. Prefer this to NetDbgObj.ClrRuntime.GetHeap(), which can throw.
Public field | ClrInitException | This property contains the exception that ocurred, if any, while attempting to initialize the Microsoft.Diagnostics.Runtime.ClrRuntime. Check this property after opening a dump file to determine if managed analysis will be possible.
Back to Top
Properties

                         Name  | Description
  Public property  AspxPages

            This property returns a List of ClrObject containing all the System.Web.HttpContext objects found on the managed heap of the process.

  Public property  ClrRuntime

            This property returns a Microsoft.Diagnostics.Runtime.ClrRuntime object that allows access to Managed objects and structures on the dump.

  Public property   | ClrRuntimes
  Public property  ClrVersionInfo

            This Property returns the ClrInfo that corresponds to the ClrRuntime that has been selected for analysis.  Targets may have more than one ClrRuntime loaded SxS,
            but only one will be selected for analysis.

  Public property  CreateTime

            This property returns the date and time that the process was created.

  Public property  CritSecs

            This property returns an instance of the CritSecInfo object.
            The CritSecInfo object can be used to retrieve DbgCritSec objects which are used to query information about critical sections in the dump file.

  Public property  DacFileName

            This read only property provides the name of the DAC file used to access the managed objects and structures on the dump.

  Public property  DebuggerStatus

            This property is primarily used by the extensions to provide interactive feedback.
            For Example, this is the last line displayed below progress bar when the tool is analyzing the data.

  Public property  DumpFileFullPath

            This property returns the full path an file name of the current dump file.

  Public property  DumpFileShortName

            This property returns the file name and extension of the current dump.

  Public property  DumpPath

            This property accepts the location of the dump file. This property is only used for live debugging sessions.
            It provides a way for scripts to set the location where dumps should be created.

Field Value
Path where teh dump should be stored.

  Public property  DumpTickCount

            This property returns the number of milliseconds the process had been running.

  Public property  DumpType

            This property returns the type of the memory dumps. For example: MINI DUMPS, FULL DUMPS etc.

  Public property  EnvironmentVariables

            This property returns an instance of the EnvironmentVariables object.

  Public property  ExceptionThread

            This property returns an instance of the NetDbgThread object which contains information about the thread that caused an exception.

  Public property  ExecutableName

            This property returns the name of the process for this debugger object.

  Public property  ExtendedThreadInfoAvailable

            This property returns True if extended thread information is available otherwise it returns False.

  Public property  HasMultipleClrRuntimesWithThreads

            True if there are multiple CLR Runtimes loaded in the process, each having one or more managed threads.

  Public property  IdleProcessingInterval

            This property controls how often the OnIdleProcessing event fires.

  Public property  Is32Bit

            This property returns true whenever the process is 32 bits or false otherwise.

  Public property  IsClrExtensionMissing

            This property returns True if the dump file has the CLR loaded and an appropriate sos.dll or psscor.dll extension could not be found, otherwise it returns False.

  Public property  IsCrashDump

            This property returns True if the dump file was generated when an exception occurred in the process, otherwise it returns False.

  Public property  IsManaged

            This property returns true if any version of the .Net CLR is loaded into the process, or false otherwise.

  Public property  ManagedException

            This property returns an instance of the ClrException object.

  Public property  ManagedThreads

            This property returns a List of NetDbgThread for all the managed threads found on the process.

  Public property  Modules

            This property returns an instance of the ModuleInfo object.

  Public property  NativeException

            This property returns an instance of the NetDbgException object.

  Public property  NumberProcessors

            Returns the number of logic cores found on the OS

  Public property  OSBuild

            This property returns the build number for the operating system.

  Public property  OSServicePack

            This property returns the version of the service pack for the operating system.

  Public property  OSVersion

            This property returns the version number of the operating system.

  Public property  OSVersionMajor

            This property returns the Major version number of the operating system.

  Public property  OSVersionMinor

            This property returns the Minor version number of the operating system.

  Public property  ProcessID

            This property returns the process ID.

  Public property  ProcessUpTime

            This property returns the process uptime.

  Public property  RawDebugger

            This method will return a reference object of the COM object that implements the IDebugClient and represents the debugger.

  Public property  State

            This property returns an instance of the DbgState object.

  Public property  SystemUpTime

            This property returns the system uptime after last reboot.

  Public property  Threads

            This property returns a List of NetDbgThread objects find on the dump file being analyzed

Back to Top
See Also
NetDbgObj Class


NetDbgObj Fields

NetDbgObj Fields Debug Diagnostics Tool 2.1 DebugDiag
The NetDbgObj type exposes the following members.
Fields
 | Name | Description
Public field | ClrHeap | A cached reference to the CLR heap, if the heap is walkable. Prefer this to NetDbgObj.ClrRuntime.GetHeap(), which can throw.
Public field | ClrInitException | This property contains the exception that ocurred, if any, while attempting to initialize the Microsoft.Diagnostics.Runtime.ClrRuntime. Check this property after opening a dump file to determine if managed analysis will be possible.
Back to Top
See Also
NetDbgObj Class


ClrHeap Field

NetDbgObj ClrHeap Field Debug Diagnostics Tool 2.1 DebugDiag
A cached reference to the CLR heap, if the heap is walkable. Prefer this to NetDbgObj.ClrRuntime.GetHeap(), which can throw.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ClrHeap ClrHeap
public ClrHeap ClrHeap
Public ClrHeap As ClrHeap
Public ClrHeap As ClrHeap
public:
ClrHeap^ ClrHeap
public:
ClrHeap^ ClrHeap
See Also
NetDbgObj Class
NetDbgObj Members


ClrInitException Field

NetDbgObj ClrInitException Field Debug Diagnostics Tool 2.1 DebugDiag
This property contains the exception that ocurred, if any, while attempting to initialize the Microsoft.Diagnostics.Runtime.ClrRuntime. Check this property after opening a dump file to determine if managed analysis will be possible.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public Exception ClrInitException
public Exception ClrInitException
Public ClrInitException As Exception
Public ClrInitException As Exception
public:
Exception^ ClrInitException
public:
Exception^ ClrInitException
See Also
NetDbgObj Class
NetDbgObj Members


NetDbgObj Methods

NetDbgObj Methods Debug Diagnostics Tool 2.1 DebugDiag
The NetDbgObj type exposes the following members.
Methods
Name | Description
Public method AddCodeBreakpoint
Allows to set a breakpoint while in live debugging
Public method CreateDump
This method creates a user dump of the debuggee process.
Public method CreateDumpForProcessID
This method is similar to CreateDump(String, Boolean, Boolean) method but can be used to create user dumps for processes other than debuggee process.
Public method CreateDumpForProcessName
This method is similar to CreateDump(String, Boolean, Boolean) method but can be used to create user dumps for processes other than debuggee process.
Public method CreateProcessList
This method will generate a log file with the current list of running processes on the system. This method will work for a live debugging target only. The file is placed in the path specified by the NetDbgObj.DumpPath, otherwise it is placed in the \DebugDiag\Logs\Misc directory.
Public method Detach
This method can be called to detach the DbgHost.exe from a target process that it is currently debugging. This call is asynchronous, and returns immediately even if the debugger has not attached.
Public method Dispose
Disposes the object and release all native resources.
Protected method | Dispose(Boolean)
Public method EnumerateHeap
This function returns a collection of uLong type repressenting the address of the objects found on the heap of the type specified on the parameter
Public method EnumerateHeapExceptionObjects
This property returns a IEnumerable collection of ClrException objects, containing all the managed Exceptions found on the managed heap.
Public method EnumerateHeapObjects
This property returns a IEnumerable collection of ClrObject objects, containing all the managed objects found on the managed heap.
Public method EnumerateHeapObjects(String)
This property returns a IEnumerable collection of ClrObject objects found on the managed heap, filtered by the value specified on typeName parameter.
Public method Online Equals
Determines whether the specified Online Object is equal to the current Online Object.
(Inherited from Online Object.)
Public method Execute
This method executes a debugger command and returns the output of that command.
Examples
This example shows how to evaluate an expression on the debugger:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.Execute("? 8+2");
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.Execute("? 8+2");
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Evaluate expression: 10 = 0000000a
Evaluate expression: 10 = 0000000a

            Results are:

  Protected method    Online Finalize
Allows an   Online Object to attempt to free resources and perform other cleanup operations before the   Online Object is reclaimed by garbage collection.
 (Inherited from   Online Object.)
  Public method  FindFirstHeapObject

            This method returns the first object that is found on the heap that matches the type specified on the parameter.

  Public method  GetAs32BitHexString(Double)

            This method returns a 32-Bit string representation of a Double value.

Examples
This example shows how to get the 32-Bit string representation of a Double value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x010ed48c
0x010ed48c

            Results are:

  Public method  GetAs32BitHexString(UInt64)

            This method returns a 32-Bit string representation of a Uint64 value.

Examples
This example shows how to get the 32-Bit string representation of a Uint64 value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(0x010ed48cUL);
    manager.Write(strResults);.

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(0x010ed48cUL);
    manager.Write(strResults);.

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x010ed48c
0x010ed48c

            Results are:

  Public method  GetAs32BitHexString(UIntPtr)

            This method returns a 32-Bit string representation of a UIntPtr value.

Examples
This example shows how to get the 32-Bit string representation of a UIntPtr value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(new UIntPtr(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(new UIntPtr(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x010ed48c
0x010ed48c

            Results are:

  Public method  GetAs64BitHexString(Double)

            This method returns a 64-Bit string representation of a double value.

Examples
This example shows how to get the 64-Bit string representation of a double value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x00000000`010ed48c
0x00000000`010ed48c

            Results are:

  Public method  GetAs64BitHexString(UInt64)

            This method returns a 64-Bit string representation of a UInt64 value.

Examples
This example shows how to get the 64-Bit string representation of a UInt64 value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x00000000`010ed48c
0x00000000`010ed48c

            Results are:

  Public method  GetAs64BitHexString(UIntPtr)

            This method returns a 64-Bit string representation of a UIntPtr value.

Examples
This example shows how to get the 64-Bit string representation of a UIntPtr value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(new UIntPtr(0x010ed48cUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(new UIntPtr(0x010ed48cUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x00000000`010ed48c
0x00000000`010ed48c

            Results are:

  Public method  GetBreakpoint

            Returns an instance of a COM object that implements the IDbgBreakPoint interface

  Public method  GetExceptionObjectFromAddress

            Use this mehtod to obtain an instance of a NetDbgException object.

  Public method  GetExtensionObject

            Returns an instance of one of the extension object. For example: HTTPInfo, ASPInfo etc.

Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");
    var utilExt = debugger.GetExtensionObject("CrashHangExt", "Utils");
    var utilExt = debugger.GetExtensionObject("IISInfo", "HTTPInfo");
    ...

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");
    var utilExt = debugger.GetExtensionObject("CrashHangExt", "Utils");
    var utilExt = debugger.GetExtensionObject("IISInfo", "HTTPInfo");
    ...

    //Release Debugger native resources
    debugger.Dispose();
}

  Public method    Online GetHashCode
Serves as a hash function for a particular type.
 (Inherited from   Online Object.)
  Public method  GetModuleByAddress(Double)

            Returns an instance of a DbgModule object .

  Public method  GetModuleByAddress(UInt64)

            Returns an instance of a DbgModule object .

  Public method  GetModuleByAddress(UIntPtr)

            Returns an instance of a DbgModule object .

  Public method  GetModuleByModuleName

            Returns an instance of a DbgModule object.

  Public method  GetSourceInfoFromAddress(Double)

            Returns the source code line information for the address passed into the function.

Examples
This example shows how to get the source code line infromation of a given code address

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress((double)0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress((double)0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c

            Results are:

  Public method  GetSourceInfoFromAddress(UInt64)

            Returns the source code line information for the address passed into the function.

Examples
This example shows how to get the source code line infromation of a given code address

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c

            Results are:

  Public method  GetSourceInfoFromAddress(UIntPtr)

            Returns the source code line information for the address passed into the function.

Examples
This example shows how to get the source code line infromation of a given code address

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(new UIntPtr(0x77f88553UL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(new UIntPtr(0x77f88553UL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c

            Results are:

  Public method  GetSymbolFromAddress(Double)

            Returns the symbol information for the address passed into the function.

Examples
This example shows how to get the symbols infromation for a given address:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress((double)0x79222b54UL);
    manager.Write(strResults);

    //Release Debugger native objects
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress((double)0x79222b54UL);
    manager.Write(strResults);

    //Release Debugger native objects
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
w3svc!HTTP_REQUEST::`vftable'
w3svc!HTTP_REQUEST::`vftable'

            Results are:

  Public method  GetSymbolFromAddress(UInt64)

            Returns the symbol information for the address passed into the function.

Examples
This example shows how to get the symbols infromation for a given address:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(0x79222b54UL);
    manager.Write(strResults);

    //Release debugger native objects
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(0x79222b54UL);
    manager.Write(strResults);

    //Release debugger native objects
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
w3svc!HTTP_REQUEST::`vftable'
w3svc!HTTP_REQUEST::`vftable'

            Results are:

  Public method  GetSymbolFromAddress(UIntPtr)

            Returns the symbol information for the address passed into the function.

Examples
This example shows how to get the symbols infromation for a given address:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(new UIntPtr(0x79222b54UL));

    //Writes the results on the report
    manager.Write(strResults);
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(new UIntPtr(0x79222b54UL));

    //Writes the results on the report
    manager.Write(strResults);
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
w3svc!HTTP_REQUEST::`vftable'
w3svc!HTTP_REQUEST::`vftable'

            Results are:

  Public method  GetThreadByManagedThreadId

            This method returns an instance of a NetDbgThread object based on the system managed thread ID passed into the function.

  Public method  GetThreadBySystemID

            This method returns an instance of a NetDbgThread object based on the system thread ID passed into the function.

  Public method    Online GetType
Gets the   Online Type of the current instance.
 (Inherited from   Online Object.)
  Public method  InjectLeakTrack

            This method loads (injects) LeakTrack into the debuggee process. This starts memory and handle leak tracking in the debuggee process.  Applicable for live debugging only.

  Public method  IsLeakTrackLoaded

            Method that will return true if leaktrack module has been loaded on the process pointed on the parameter

  Public method  Kill

            This function will stop the debugger.

  Protected method    Online MemberwiseClone
Creates a shallow copy of the current   Online Object.
 (Inherited from   Online Object.)
     OpenDump

            This method creates a NetDbgObj that represents an instance of the debugger using a Dumpfile and optionaly other paramaters

  Public method  ReadANSIString(Double)

            This method tries to read the address passed into the function as an ANSI string and return that string.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString((double)0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString((double)0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadANSIString(UInt64)

            This method tries to read the address passed into the function as an ANSI string and return that string.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadANSIString(UIntPtr)

            This method tries to read the address passed into the function as an ANSI string and return that string.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(new UIntPtr(0x010ced71UL));
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(new UIntPtr(0x010ced71UL));
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadByte(Double)

            This method reads an 8-Bit value at the address that is passed into the function and returns it as an Integer value.

  Public method  ReadByte(UInt64)

            This method reads an 8-Bit value at the address that is passed into the function and returns it as an Integer value.

  Public method  ReadByte(UIntPtr)

            This method reads an 8-Bit value at the address that is passed into the function and returns it as an Integer value.

  Public method  ReadDWord(Double)

            This method reads 32-Bits of data at the address passed into the function and returns it as a Double value.

  Public method  ReadDWord(UInt64)

            This method reads 32-Bits of data at the address passed into the function and returns it as a Double value.

  Public method  ReadDWord(UIntPtr)

            This method reads 32-Bits of data at the address passed into the function and returns it as a Double value.

  Public method  ReadQWord(Double)

            This method reads 64-Bits of data at the address passed into the function and returns it as a Double value.

  Public method  ReadQWord(UInt64)

            This method reads 64-Bits of data at the address passed into the function and returns it as a Double value.

  Public method  ReadQWord(UIntPtr)

            This method reads 64-Bits of data at the address passed into the function and returns it as a Double value.

  Public method  ReadString(Double, Boolean)

            This method tries to read the address passed into the function as an ANSI string if the Boolean value passed in is False, or as a Unicode string if the Boolean value passed in is True.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString((double)0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString((double)0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadString(UInt64, Boolean)

            This method tries to read the address passed into the function as an ANSI string if the Boolean value passed in is False, or as a Unicode string if the Boolean value passed in is True.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadString(UIntPtr, Boolean)

            This method tries to read the address passed into the function as an ANSI string if the Boolean value passed in is False, or as a Unicode string if the Boolean value passed in is True.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(new UIntPtr(0x010ced71UL), false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(new UIntPtr(0x010ced71UL), false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadUnicodeString(Double)

            This method tries to read the address passed into the function as an UNICODE string and return that string.

Examples
This example shows how to use the ReadUnicodeString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString((double)0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString((double)0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Hello World!
Hello World!

            Results are:

  Public method  ReadUnicodeString(UInt64)

            This method tries to read the address passed into the function as an UNICODE string and return that string.

Examples
This example shows how to use the ReadUnicodeString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Hello World!
Hello World!

            Results are:

  Public method  ReadUnicodeString(UIntPtr)

            This method tries to read the address passed into the function as an UNICODE string and return that string.

Examples
This example shows how to use the ReadUnicodeString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(new UIntPtr(0x010caf8fUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(new UIntPtr(0x010caf8fUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Hello World!
Hello World!

            Results are:

  Public method  ReadWord(Double)

            This method reads 16-Bits of data at the address passed into the function and returns it as an Integer value.

  Public method  ReadWord(UInt64)

            This method reads 16-Bits of data at the address passed into the function and returns it as an Integer value.

  Public method  ReadWord(UIntPtr)

            This method reads 16-Bits of data at the address passed into the function and returns it as an Integer value.

  Public method  RemoveBreakpoint

            Allows to remove a breakpoint while in live debugging

  Public method    Online ToString
Returns a   Online String that represents the current   Online Object.
 (Inherited from   Online Object.)
  Public method  UnDecorateSymbol

            This method undecorates decorated C++ symbol names.  The method requires a Pointer to a null-terminated string that specifies a decorated C++ symbol name.
            This name can be identified by the first character of the name, which is always a question mark (?).

  Public method  UnloadExtensions

            This method unloads any NetDbgHost extensions loaded so far. This method is for internal use only and should not be called from any custom analysis rule.

  Public method  Write

            This method is used to write an arbitrary string to the text log file created and maintained by DbgHost. Applicable for live debugging only.

Back to Top
See Also
NetDbgObj Class


AddCodeBreakpoint Method

NetDbgObj AddCodeBreakpoint Method Debug Diagnostics Tool 2.1 DebugDiag
Allows to set a breakpoint while in live debugging

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int AddCodeBreakpoint(
    string OffsetExpression,
    bool vbIsManaged
)
public int AddCodeBreakpoint(
    string OffsetExpression,
    bool vbIsManaged
)
Public Function AddCodeBreakpoint ( _
    OffsetExpression As String, _
    vbIsManaged As Boolean _
) As Integer
Public Function AddCodeBreakpoint ( _
    OffsetExpression As String, _
    vbIsManaged As Boolean _
) As Integer
public:
int AddCodeBreakpoint(
    String^ OffsetExpression,
    bool vbIsManaged
)
public:
int AddCodeBreakpoint(
    String^ OffsetExpression,
    bool vbIsManaged
)
Parameters
OffsetExpression
Type:   Online System String
Expression where the breakpoint should be Added
vbIsManaged
Type:   Online System Boolean
Paramter to indicate if the code is native or managed, true indicates managed code
Return Value
integer value indicating the index for the breakpoint added on the debugger
See Also
NetDbgObj Class
NetDbgObj Members


CreateDump Method

NetDbgObj CreateDump Method Debug Diagnostics Tool 2.1 DebugDiag
This method creates a user dump of the debuggee process.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string CreateDump(
    string DumpReason,
    bool bMiniDump,
    bool bProcessList
)
public string CreateDump(
    string DumpReason,
    bool bMiniDump,
    bool bProcessList
)
Public Function CreateDump ( _
    DumpReason As String, _
    bMiniDump As Boolean, _
    bProcessList As Boolean _
) As String
Public Function CreateDump ( _
    DumpReason As String, _
    bMiniDump As Boolean, _
    bProcessList As Boolean _
) As String
public:
String^ CreateDump(
    String^ DumpReason,
    bool bMiniDump,
    bool bProcessList
)
public:
String^ CreateDump(
    String^ DumpReason,
    bool bMiniDump,
    bool bProcessList
)
Parameters
DumpReason
Type:   Online System String
The DumpReason parameter is any arbitrary string that is appended to the dump file name
            and comments to provide the reason for the dump creation to the end user.
bMiniDump
Type:   Online System Boolean
The bMiniDump parameter is a boolean value which, when set to true, creates a mini
            dump of the target process and when set to false creates a full dump.
bProcessList
Type:   Online System Boolean
The bProcessList parameter is a boolean value which, when true, instructs the debugger to create
            a list of the running processes on the system at the time the dump is taken.
Return Value
The return value is the full path to the dump created if successful for Live debugging only.
See Also
NetDbgObj Class
NetDbgObj Members


CreateDumpForProcessID Method

NetDbgObj CreateDumpForProcessID Method Debug Diagnostics Tool 2.1 DebugDiag
This method is similar to CreateDump(String, Boolean, Boolean) method but can be used to create user dumps for processes other than debuggee process.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string CreateDumpForProcessID(
    int ProcessID,
    string DumpReason,
    bool bMiniDump,
    bool bCreateProcessList
)
public string CreateDumpForProcessID(
    int ProcessID,
    string DumpReason,
    bool bMiniDump,
    bool bCreateProcessList
)
Public Function CreateDumpForProcessID ( _
    ProcessID As Integer, _
    DumpReason As String, _
    bMiniDump As Boolean, _
    bCreateProcessList As Boolean _
) As String
Public Function CreateDumpForProcessID ( _
    ProcessID As Integer, _
    DumpReason As String, _
    bMiniDump As Boolean, _
    bCreateProcessList As Boolean _
) As String
public:
String^ CreateDumpForProcessID(
    int ProcessID,
    String^ DumpReason,
    bool bMiniDump,
    bool bCreateProcessList
)
public:
String^ CreateDumpForProcessID(
    int ProcessID,
    String^ DumpReason,
    bool bMiniDump,
    bool bCreateProcessList
)
Parameters
ProcessID
Type:   Online System Int32
The input parameter ProcessID identifies the process to create a user dump for.
DumpReason
Type:   Online System String
The DumpReason parameter is any arbitrary string that is appended to the dump file name and comments to provide the
            reason for the dump creation to the end user.
bMiniDump
Type:   Online System Boolean
The bMiniDump parameter is a boolean value which, when set to true, creates a mini dump of the target process and
            when set to false creates a full dump.
bCreateProcessList
Type:   Online System Boolean
The bProcessList parameter is a boolean value which, when true, instructs the debugger to create
            a list of the running processes on the system at the time the dump is taken.
Return Value
The return value is the full path to the dump created if successful for Live debugging only.
See Also
NetDbgObj Class
NetDbgObj Members


CreateDumpForProcessName Method

NetDbgObj CreateDumpForProcessName Method Debug Diagnostics Tool 2.1 DebugDiag
This method is similar to CreateDump(String, Boolean, Boolean) method but can be used to create user dumps for processes other than debuggee process.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public Object CreateDumpForProcessName(
    string ProcessName,
    string DumpReason,
    bool bMiniDump,
    bool bCreateProcessList
)
public Object CreateDumpForProcessName(
    string ProcessName,
    string DumpReason,
    bool bMiniDump,
    bool bCreateProcessList
)
Public Function CreateDumpForProcessName ( _
    ProcessName As String, _
    DumpReason As String, _
    bMiniDump As Boolean, _
    bCreateProcessList As Boolean _
) As Object
Public Function CreateDumpForProcessName ( _
    ProcessName As String, _
    DumpReason As String, _
    bMiniDump As Boolean, _
    bCreateProcessList As Boolean _
) As Object
public:
Object^ CreateDumpForProcessName(
    String^ ProcessName,
    String^ DumpReason,
    bool bMiniDump,
    bool bCreateProcessList
)
public:
Object^ CreateDumpForProcessName(
    String^ ProcessName,
    String^ DumpReason,
    bool bMiniDump,
    bool bCreateProcessList
)
Parameters
ProcessName
Type:   Online System String
The input parameter ProcessName identifies the process to create user dumps for by name (Ex: notepad.exe).
DumpReason
Type:   Online System String
The DumpReason parameter is any arbitrary string that is appended to the dump file name and comments to provide the
            reason for the dump creation to the end user.
bMiniDump
Type:   Online System Boolean
The bMiniDump parameter is a boolean value which, when set to true, creates a mini dump of the target process and
            when set to false creates a full dump.
bCreateProcessList
Type:   Online System Boolean
The bProcessList parameter is a boolean value which, when true, instructs the debugger to create
            a list of the running processes on the system at the time the dump is taken.
Return Value
The return value is the full path to the dump created if successful for Live debugging only.
See Also
NetDbgObj Class
NetDbgObj Members


CreateProcessList Method

NetDbgObj CreateProcessList Method Debug Diagnostics Tool 2.1 DebugDiag
This method will generate a log file with the current list of running processes on the system. This method will work for a live debugging target only. The file is placed in the path specified by the NetDbgObj.DumpPath, otherwise it is placed in the \DebugDiag\Logs\Misc directory.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void CreateProcessList(
    string FullPath
)
public void CreateProcessList(
    string FullPath
)
Public Sub CreateProcessList ( _
    FullPath As String _
)
Public Sub CreateProcessList ( _
    FullPath As String _
)
public:
void CreateProcessList(
    String^ FullPath
)
public:
void CreateProcessList(
    String^ FullPath
)
Parameters
FullPath
Type:   Online System String
Path where the log will be written
See Also
NetDbgObj Class
NetDbgObj Members


Detach Method

NetDbgObj Detach Method Debug Diagnostics Tool 2.1 DebugDiag
This method can be called to detach the DbgHost.exe from a target process that it is currently debugging. This call is asynchronous, and returns immediately even if the debugger has not attached.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void Detach()
public void Detach()
Public Sub Detach
Public Sub Detach
public:
void Detach()
public:
void Detach()
See Also
NetDbgObj Class
NetDbgObj Members


Dispose Method

NetDbgObj Dispose Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | Dispose | Disposes the object and release all native resources.
Protected method | Dispose(Boolean) | Releases the unmanaged resources used by the NetDbgObj and optionally releases the managed resources
Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


Dispose Method

NetDbgObj Dispose Method Debug Diagnostics Tool 2.1 DebugDiag
Disposes the object and release all native resources.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void Dispose()
public void Dispose()
Public Sub Dispose
Public Sub Dispose
public:
virtual void Dispose() sealed
public:
virtual void Dispose() sealed
Implements
  Online IDisposable Dispose
See Also
NetDbgObj Class
NetDbgObj Members
Dispose Overload


Dispose Method (Boolean)

NetDbgObj Dispose Method (Boolean) Debug Diagnostics Tool 2.1 DebugDiag
Releases the unmanaged resources used by the NetDbgObj and optionally releases the managed resources

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected virtual void Dispose(
    bool disposing
)
protected virtual void Dispose(
    bool disposing
)
Protected Overridable Sub Dispose ( _
    disposing As Boolean _
)
Protected Overridable Sub Dispose ( _
    disposing As Boolean _
)
protected:
virtual void Dispose(
    bool disposing
)
protected:
virtual void Dispose(
    bool disposing
)
Parameters
disposing
Type:   Online System Boolean
True to release both managed and unmanaged resources; false to release only unmanaged resources
See Also
NetDbgObj Class
NetDbgObj Members
Dispose Overload


EnumerateHeap Method

NetDbgObj EnumerateHeap Method Debug Diagnostics Tool 2.1 DebugDiag
This function returns a collection of uLong type repressenting the address of the objects found on the heap of the type specified on the parameter

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnumerable<ulong> EnumerateHeap(
    string typeName
)
public IEnumerable<ulong> EnumerateHeap(
    string typeName
)
Public Function EnumerateHeap ( _
    typeName As String _
) As IEnumerable(Of ULong)
Public Function EnumerateHeap ( _
    typeName As String _
) As IEnumerable(Of ULong)
public:
IEnumerable<unsigned long long>^ EnumerateHeap(
    String^ typeName
)
public:
IEnumerable<unsigned long long>^ EnumerateHeap(
    String^ typeName
)
Parameters
typeName
Type:   Online System String
Name of the type you are looking on the heap
Return Value
IEnumerable collection of uLong values with the addresses for the objects found on the heap
See Also
NetDbgObj Class
NetDbgObj Members


EnumerateHeapExceptionObjects Method

NetDbgObj EnumerateHeapExceptionObjects Method Debug Diagnostics Tool 2.1 DebugDiag
This property returns a IEnumerable collection of ClrException objects, containing all the managed Exceptions found on the managed heap.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnumerable<ClrException> EnumerateHeapExceptionObjects()
public IEnumerable<ClrException> EnumerateHeapExceptionObjects()
Public Function EnumerateHeapExceptionObjects As IEnumerable(Of ClrException)
Public Function EnumerateHeapExceptionObjects As IEnumerable(Of ClrException)
public:
IEnumerable<ClrException^>^ EnumerateHeapExceptionObjects()
public:
IEnumerable<ClrException^>^ EnumerateHeapExceptionObjects()
Return Value
Collection of ClrException found on the heap
See Also
NetDbgObj Class
NetDbgObj Members


EnumerateHeapObjects Method

NetDbgObj EnumerateHeapObjects Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | EnumerateHeapObjects | This property returns a IEnumerable collection of ClrObject objects, containing all the managed objects found on the managed heap.
Public method | EnumerateHeapObjects(String) | This property returns a IEnumerable collection of ClrObject objects found on the managed heap, filtered by the value specified on typeName parameter.
Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


EnumerateHeapObjects Method

NetDbgObj EnumerateHeapObjects Method Debug Diagnostics Tool 2.1 DebugDiag
This property returns a IEnumerable collection of ClrObject objects, containing all the managed objects found on the managed heap.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnumerable<ClrObject> EnumerateHeapObjects()
public IEnumerable<ClrObject> EnumerateHeapObjects()
Public Function EnumerateHeapObjects As IEnumerable(Of ClrObject)
Public Function EnumerateHeapObjects As IEnumerable(Of ClrObject)
public:
IEnumerable<ClrObject^>^ EnumerateHeapObjects()
public:
IEnumerable<ClrObject^>^ EnumerateHeapObjects()
Return Value
Collection of ClrObject found on the heap
See Also
NetDbgObj Class
NetDbgObj Members
EnumerateHeapObjects Overload


EnumerateHeapObjects Method (String)

NetDbgObj EnumerateHeapObjects Method (String) Debug Diagnostics Tool 2.1 DebugDiag
This property returns a IEnumerable collection of ClrObject objects found on the managed heap, filtered by the value specified on typeName parameter.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnumerable<ClrObject> EnumerateHeapObjects(
    string typeName
)
public IEnumerable<ClrObject> EnumerateHeapObjects(
    string typeName
)
Public Function EnumerateHeapObjects ( _
    typeName As String _
) As IEnumerable(Of ClrObject)
Public Function EnumerateHeapObjects ( _
    typeName As String _
) As IEnumerable(Of ClrObject)
public:
IEnumerable<ClrObject^>^ EnumerateHeapObjects(
    String^ typeName
)
public:
IEnumerable<ClrObject^>^ EnumerateHeapObjects(
    String^ typeName
)
Parameters
typeName
Type:   Online System String
Name of the Type you want to look for on the heap
Return Value
Collection of ClrObject found on the heap matching the type
See Also
NetDbgObj Class
NetDbgObj Members
EnumerateHeapObjects Overload


Execute Method

NetDbgObj Execute Method Debug Diagnostics Tool 2.1 DebugDiag
This method executes a debugger command and returns the output of that command.
Examples
This example shows how to evaluate an expression on the debugger:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.Execute("? 8+2");
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.Execute("? 8+2");
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}

            Results are:

View Colorized Copy to Clipboard Print
Evaluate expression: 10 = 0000000a
Evaluate expression: 10 = 0000000a
Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string Execute(
    string bstrCommand
)
public string Execute(
    string bstrCommand
)
Public Function Execute ( _
    bstrCommand As String _
) As String
Public Function Execute ( _
    bstrCommand As String _
) As String
public:
String^ Execute(
    String^ bstrCommand
)
public:
String^ Execute(
    String^ bstrCommand
)
Parameters
bstrCommand
Type:   Online System String
Command to execute on the debugger for example: kc
Return Value
output string generated by the debugger when running the command specified on the parameter bstrCommand
See Also
NetDbgObj Class
NetDbgObj Members


FindFirstHeapObject Method

NetDbgObj FindFirstHeapObject Method Debug Diagnostics Tool 2.1 DebugDiag
This method returns the first object that is found on the heap that matches the type specified on the parameter.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ClrObject FindFirstHeapObject(
    string typeName
)
public ClrObject FindFirstHeapObject(
    string typeName
)
Public Function FindFirstHeapObject ( _
    typeName As String _
) As ClrObject
Public Function FindFirstHeapObject ( _
    typeName As String _
) As ClrObject
public:
ClrObject^ FindFirstHeapObject(
    String^ typeName
)
public:
ClrObject^ FindFirstHeapObject(
    String^ typeName
)
Parameters
typeName
Type:   Online System String
Type of the object you are looking for on the heap
Return Value
CLrObject representing the first object found on the heap that matches the type specified
See Also
NetDbgObj Class
NetDbgObj Members


GetAs32BitHexString Method

NetDbgObj GetAs32BitHexString Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
Name Description
Public method GetAs32BitHexString(Double)
This method returns a 32-Bit string representation of a Double value.
Examples
This example shows how to get the 32-Bit string representation of a Double value:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x010ed48c
0x010ed48c

            Results are:

  Public method  GetAs32BitHexString(UInt64)

            This method returns a 32-Bit string representation of a Uint64 value.

Examples
This example shows how to get the 32-Bit string representation of a Uint64 value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(0x010ed48cUL);
    manager.Write(strResults);.

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(0x010ed48cUL);
    manager.Write(strResults);.

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x010ed48c
0x010ed48c

            Results are:

  Public method  GetAs32BitHexString(UIntPtr)

            This method returns a 32-Bit string representation of a UIntPtr value.

Examples
This example shows how to get the 32-Bit string representation of a UIntPtr value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(new UIntPtr(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(new UIntPtr(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x010ed48c
0x010ed48c

            Results are:

Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


GetAs32BitHexString Method (Double)

NetDbgObj GetAs32BitHexString Method (Double) Debug Diagnostics Tool 2.1 DebugDiag
This method returns a 32-Bit string representation of a Double value.
Examples
This example shows how to get the 32-Bit string representation of a Double value:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x010ed48c
0x010ed48c

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetAs32BitHexString(
    double Address
)
public string GetAs32BitHexString(
    double Address
)
Public Function GetAs32BitHexString ( _
    Address As Double _
) As String
Public Function GetAs32BitHexString ( _
    Address As Double _
) As String
public:
String^ GetAs32BitHexString(
    double Address
)
public:
String^ GetAs32BitHexString(
    double Address
)
Parameters
Address
Type:   Online System Double
Double value that will be converted to string.
Return Value
String representation
See Also
NetDbgObj Class
NetDbgObj Members
GetAs32BitHexString Overload


GetAs32BitHexString Method (UInt64)

NetDbgObj GetAs32BitHexString Method (UInt64) Debug Diagnostics Tool 2.1 DebugDiag
This method returns a 32-Bit string representation of a Uint64 value.
Examples
This example shows how to get the 32-Bit string representation of a Uint64 value:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(0x010ed48cUL);
    manager.Write(strResults);.

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(0x010ed48cUL);
    manager.Write(strResults);.

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x010ed48c
0x010ed48c

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetAs32BitHexString(
    ulong Address
)
public string GetAs32BitHexString(
    ulong Address
)
Public Function GetAs32BitHexString ( _
    Address As ULong _
) As String
Public Function GetAs32BitHexString ( _
    Address As ULong _
) As String
public:
String^ GetAs32BitHexString(
    unsigned long long Address
)
public:
String^ GetAs32BitHexString(
    unsigned long long Address
)
Parameters
Address
Type:   Online System UInt64
Uint64 value that will be converted to string.
Return Value
String Representation
See Also
NetDbgObj Class
NetDbgObj Members
GetAs32BitHexString Overload


GetAs32BitHexString Method (UIntPtr)

NetDbgObj GetAs32BitHexString Method (UIntPtr) Debug Diagnostics Tool 2.1 DebugDiag
This method returns a 32-Bit string representation of a UIntPtr value.
Examples
This example shows how to get the 32-Bit string representation of a UIntPtr value:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(new UIntPtr(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs32BitHexString(new UIntPtr(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x010ed48c
0x010ed48c

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetAs32BitHexString(
    UIntPtr Address
)
public string GetAs32BitHexString(
    UIntPtr Address
)
Public Function GetAs32BitHexString ( _
    Address As UIntPtr _
) As String
Public Function GetAs32BitHexString ( _
    Address As UIntPtr _
) As String
public:
String^ GetAs32BitHexString(
    UIntPtr Address
)
public:
String^ GetAs32BitHexString(
    UIntPtr Address
)
Parameters
Address
Type:   Online System UIntPtr
UIntPtr value that will be converted to string.
Return Value
String Representation
See Also
NetDbgObj Class
NetDbgObj Members
GetAs32BitHexString Overload


GetAs64BitHexString Method

NetDbgObj GetAs64BitHexString Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
Name Description
Public method GetAs64BitHexString(Double)
This method returns a 64-Bit string representation of a double value.
Examples
This example shows how to get the 64-Bit string representation of a double value:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x00000000`010ed48c
0x00000000`010ed48c

            Results are:

  Public method  GetAs64BitHexString(UInt64)

            This method returns a 64-Bit string representation of a UInt64 value.

Examples
This example shows how to get the 64-Bit string representation of a UInt64 value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x00000000`010ed48c
0x00000000`010ed48c

            Results are:

  Public method  GetAs64BitHexString(UIntPtr)

            This method returns a 64-Bit string representation of a UIntPtr value.

Examples
This example shows how to get the 64-Bit string representation of a UIntPtr value:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(new UIntPtr(0x010ed48cUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(new UIntPtr(0x010ed48cUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x00000000`010ed48c
0x00000000`010ed48c

            Results are:

Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


GetAs64BitHexString Method (Double)

NetDbgObj GetAs64BitHexString Method (Double) Debug Diagnostics Tool 2.1 DebugDiag
This method returns a 64-Bit string representation of a double value.
Examples
This example shows how to get the 64-Bit string representation of a double value:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString((double)0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x00000000`010ed48c
0x00000000`010ed48c

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetAs64BitHexString(
    double Address
)
public string GetAs64BitHexString(
    double Address
)
Public Function GetAs64BitHexString ( _
    Address As Double _
) As String
Public Function GetAs64BitHexString ( _
    Address As Double _
) As String
public:
String^ GetAs64BitHexString(
    double Address
)
public:
String^ GetAs64BitHexString(
    double Address
)
Parameters
Address
Type:   Online System Double
double value that will be converted to string.
Return Value
String Representation
See Also
NetDbgObj Class
NetDbgObj Members
GetAs64BitHexString Overload


GetAs64BitHexString Method (UInt64)

NetDbgObj GetAs64BitHexString Method (UInt64) Debug Diagnostics Tool 2.1 DebugDiag
This method returns a 64-Bit string representation of a UInt64 value.
Examples
This example shows how to get the 64-Bit string representation of a UInt64 value:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(0x010ed48cUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x00000000`010ed48c
0x00000000`010ed48c

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetAs64BitHexString(
    ulong Address
)
public string GetAs64BitHexString(
    ulong Address
)
Public Function GetAs64BitHexString ( _
    Address As ULong _
) As String
Public Function GetAs64BitHexString ( _
    Address As ULong _
) As String
public:
String^ GetAs64BitHexString(
    unsigned long long Address
)
public:
String^ GetAs64BitHexString(
    unsigned long long Address
)
Parameters
Address
Type:   Online System UInt64
UInt64 value that will be converted to string.
Return Value
String Representation
See Also
NetDbgObj Class
NetDbgObj Members
GetAs64BitHexString Overload


GetAs64BitHexString Method (UIntPtr)

NetDbgObj GetAs64BitHexString Method (UIntPtr) Debug Diagnostics Tool 2.1 DebugDiag
This method returns a 64-Bit string representation of a UIntPtr value.
Examples
This example shows how to get the 64-Bit string representation of a UIntPtr value:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(new UIntPtr(0x010ed48cUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetAs64BitHexString(new UIntPtr(0x010ed48cUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
0x00000000`010ed48c
0x00000000`010ed48c

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetAs64BitHexString(
    UIntPtr Address
)
public string GetAs64BitHexString(
    UIntPtr Address
)
Public Function GetAs64BitHexString ( _
    Address As UIntPtr _
) As String
Public Function GetAs64BitHexString ( _
    Address As UIntPtr _
) As String
public:
String^ GetAs64BitHexString(
    UIntPtr Address
)
public:
String^ GetAs64BitHexString(
    UIntPtr Address
)
Parameters
Address
Type:   Online System UIntPtr
UIntPtr value that will be converted to string.
Return Value
String Representation
See Also
NetDbgObj Class
NetDbgObj Members
GetAs64BitHexString Overload


GetBreakpoint Method

NetDbgObj GetBreakpoint Method Debug Diagnostics Tool 2.1 DebugDiag
Returns an instance of a COM object that implements the IDbgBreakPoint interface

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IDbgBreakPoint GetBreakpoint(
    int BreakpointId
)
public IDbgBreakPoint GetBreakpoint(
    int BreakpointId
)
Public Function GetBreakpoint ( _
    BreakpointId As Integer _
) As IDbgBreakPoint
Public Function GetBreakpoint ( _
    BreakpointId As Integer _
) As IDbgBreakPoint
public:
IDbgBreakPoint^ GetBreakpoint(
    int BreakpointId
)
public:
IDbgBreakPoint^ GetBreakpoint(
    int BreakpointId
)
Parameters
BreakpointId
Type:   Online System Int32
Index of the breakpoint
Return Value
Reference to the COM object
See Also
NetDbgObj Class
NetDbgObj Members


GetExceptionObjectFromAddress Method

NetDbgObj GetExceptionObjectFromAddress Method Debug Diagnostics Tool 2.1 DebugDiag
Use this mehtod to obtain an instance of a NetDbgException object.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetDbgException GetExceptionObjectFromAddress(
    double dblAddress
)
public NetDbgException GetExceptionObjectFromAddress(
    double dblAddress
)
Public Function GetExceptionObjectFromAddress ( _
    dblAddress As Double _
) As NetDbgException
Public Function GetExceptionObjectFromAddress ( _
    dblAddress As Double _
) As NetDbgException
public:
NetDbgException^ GetExceptionObjectFromAddress(
    double dblAddress
)
public:
NetDbgException^ GetExceptionObjectFromAddress(
    double dblAddress
)
Parameters
dblAddress
Type:   Online System Double
The Double value passed into the method is the address of the exception record.
Return Value
Returns an instance of a NetDbgException object.
See Also
NetDbgObj Class
NetDbgObj Members


GetExtensionObject Method

NetDbgObj GetExtensionObject Method Debug Diagnostics Tool 2.1 DebugDiag
Returns an instance of one of the extension object. For example: HTTPInfo, ASPInfo etc.
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");
    var utilExt = debugger.GetExtensionObject("CrashHangExt", "Utils");
    var utilExt = debugger.GetExtensionObject("IISInfo", "HTTPInfo");
    ...

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");
    var utilExt = debugger.GetExtensionObject("CrashHangExt", "Utils");
    var utilExt = debugger.GetExtensionObject("IISInfo", "HTTPInfo");
    ...

    //Release Debugger native resources
    debugger.Dispose();
}
Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public Object GetExtensionObject(
    string DllName,
    string ClassName
)
public Object GetExtensionObject(
    string DllName,
    string ClassName
)
Public Function GetExtensionObject ( _
    DllName As String, _
    ClassName As String _
) As Object
Public Function GetExtensionObject ( _
    DllName As String, _
    ClassName As String _
) As Object
public:
Object^ GetExtensionObject(
    String^ DllName,
    String^ ClassName
)
public:
Object^ GetExtensionObject(
    String^ DllName,
    String^ ClassName
)
Parameters
DllName
Type:   Online System String
Extension Dll's name.
ClassName
Type:   Online System String
Class you want to use to create an instance.
Return Value
Object representing the instance of the class
See Also
NetDbgObj Class
NetDbgObj Members


GetModuleByAddress Method

NetDbgObj GetModuleByAddress Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | GetModuleByAddress(Double) | Returns an instance of a DbgModule object .
Public method | GetModuleByAddress(UInt64) | Returns an instance of a DbgModule object .
Public method | GetModuleByAddress(UIntPtr) | Returns an instance of a DbgModule object .
Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


GetModuleByAddress Method (Double)

NetDbgObj GetModuleByAddress Method (Double) Debug Diagnostics Tool 2.1 DebugDiag
Returns an instance of a DbgModule object .

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IDbgModule GetModuleByAddress(
    double Address
)
public IDbgModule GetModuleByAddress(
    double Address
)
Public Function GetModuleByAddress ( _
    Address As Double _
) As IDbgModule
Public Function GetModuleByAddress ( _
    Address As Double _
) As IDbgModule
public:
IDbgModule^ GetModuleByAddress(
    double Address
)
public:
IDbgModule^ GetModuleByAddress(
    double Address
)
Parameters
Address
Type:   Online System Double
This Double value passed into the method is the base address of the module.
Return Value
Reference to a COM object that implements the IDbgModule interface
See Also
NetDbgObj Class
NetDbgObj Members
GetModuleByAddress Overload


GetModuleByAddress Method (UInt64)

NetDbgObj GetModuleByAddress Method (UInt64) Debug Diagnostics Tool 2.1 DebugDiag
Returns an instance of a DbgModule object .

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IDbgModule GetModuleByAddress(
    ulong Address
)
public IDbgModule GetModuleByAddress(
    ulong Address
)
Public Function GetModuleByAddress ( _
    Address As ULong _
) As IDbgModule
Public Function GetModuleByAddress ( _
    Address As ULong _
) As IDbgModule
public:
IDbgModule^ GetModuleByAddress(
    unsigned long long Address
)
public:
IDbgModule^ GetModuleByAddress(
    unsigned long long Address
)
Parameters
Address
Type:   Online System UInt64
This UInt64 value passed into the method is the base address of the module.
Return Value
Reference to a COM object that implements the IDbgModule interface
See Also
NetDbgObj Class
NetDbgObj Members
GetModuleByAddress Overload


GetModuleByAddress Method (UIntPtr)

NetDbgObj GetModuleByAddress Method (UIntPtr) Debug Diagnostics Tool 2.1 DebugDiag
Returns an instance of a DbgModule object .

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IDbgModule GetModuleByAddress(
    UIntPtr Address
)
public IDbgModule GetModuleByAddress(
    UIntPtr Address
)
Public Function GetModuleByAddress ( _
    Address As UIntPtr _
) As IDbgModule
Public Function GetModuleByAddress ( _
    Address As UIntPtr _
) As IDbgModule
public:
IDbgModule^ GetModuleByAddress(
    UIntPtr Address
)
public:
IDbgModule^ GetModuleByAddress(
    UIntPtr Address
)
Parameters
Address
Type:   Online System UIntPtr
This UIntPtr value passed into the method is the base address of the module.
Return Value
Reference to a COM object that implements the IDbgModule interface
See Also
NetDbgObj Class
NetDbgObj Members
GetModuleByAddress Overload


GetModuleByModuleName Method

NetDbgObj GetModuleByModuleName Method Debug Diagnostics Tool 2.1 DebugDiag
Returns an instance of a DbgModule object.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IDbgModule GetModuleByModuleName(
    string ModuleName
)
public IDbgModule GetModuleByModuleName(
    string ModuleName
)
Public Function GetModuleByModuleName ( _
    ModuleName As String _
) As IDbgModule
Public Function GetModuleByModuleName ( _
    ModuleName As String _
) As IDbgModule
public:
IDbgModule^ GetModuleByModuleName(
    String^ ModuleName
)
public:
IDbgModule^ GetModuleByModuleName(
    String^ ModuleName
)
Parameters
ModuleName
Type:   Online System String
The string passed into the method is the name of the module.
Return Value
Reference to a COM object that implements the IDbgModule interface
See Also
NetDbgObj Class
NetDbgObj Members


GetSourceInfoFromAddress Method

NetDbgObj GetSourceInfoFromAddress Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
Name Description
Public method GetSourceInfoFromAddress(Double)
Returns the source code line information for the address passed into the function.
Examples
This example shows how to get the source code line infromation of a given code address
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress((double)0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress((double)0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c

            Results are:

  Public method  GetSourceInfoFromAddress(UInt64)

            Returns the source code line information for the address passed into the function.

Examples
This example shows how to get the source code line infromation of a given code address

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c

            Results are:

  Public method  GetSourceInfoFromAddress(UIntPtr)

            Returns the source code line information for the address passed into the function.

Examples
This example shows how to get the source code line infromation of a given code address

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(new UIntPtr(0x77f88553UL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(new UIntPtr(0x77f88553UL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c

            Results are:

Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


GetSourceInfoFromAddress Method (Double)

NetDbgObj GetSourceInfoFromAddress Method (Double) Debug Diagnostics Tool 2.1 DebugDiag
Returns the source code line information for the address passed into the function.
Examples
This example shows how to get the source code line infromation of a given code address
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress((double)0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress((double)0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetSourceInfoFromAddress(
    double Address
)
public string GetSourceInfoFromAddress(
    double Address
)
Public Function GetSourceInfoFromAddress ( _
    Address As Double _
) As String
Public Function GetSourceInfoFromAddress ( _
    Address As Double _
) As String
public:
String^ GetSourceInfoFromAddress(
    double Address
)
public:
String^ GetSourceInfoFromAddress(
    double Address
)
Parameters
Address
Type:   Online System Double
Address value to match with source code
Return Value
String with source code information
See Also
NetDbgObj Class
NetDbgObj Members
GetSourceInfoFromAddress Overload


GetSourceInfoFromAddress Method (UInt64)

NetDbgObj GetSourceInfoFromAddress Method (UInt64) Debug Diagnostics Tool 2.1 DebugDiag
Returns the source code line information for the address passed into the function.
Examples
This example shows how to get the source code line infromation of a given code address
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(0x77f88553UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetSourceInfoFromAddress(
    ulong Address
)
public string GetSourceInfoFromAddress(
    ulong Address
)
Public Function GetSourceInfoFromAddress ( _
    Address As ULong _
) As String
Public Function GetSourceInfoFromAddress ( _
    Address As ULong _
) As String
public:
String^ GetSourceInfoFromAddress(
    unsigned long long Address
)
public:
String^ GetSourceInfoFromAddress(
    unsigned long long Address
)
Parameters
Address
Type:   Online System UInt64
Address value to match with source code
Return Value
String with source code information
See Also
NetDbgObj Class
NetDbgObj Members
GetSourceInfoFromAddress Overload


GetSourceInfoFromAddress Method (UIntPtr)

NetDbgObj GetSourceInfoFromAddress Method (UIntPtr) Debug Diagnostics Tool 2.1 DebugDiag
Returns the source code line information for the address passed into the function.
Examples
This example shows how to get the source code line infromation of a given code address
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(new UIntPtr(0x77f88553UL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSourceInfoFromAddress(new UIntPtr(0x77f88553UL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c
d:\srv03rtm\base\ntdll\daytona\obj\i386\usrstubs.asm @ 395 + c

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetSourceInfoFromAddress(
    UIntPtr Address
)
public string GetSourceInfoFromAddress(
    UIntPtr Address
)
Public Function GetSourceInfoFromAddress ( _
    Address As UIntPtr _
) As String
Public Function GetSourceInfoFromAddress ( _
    Address As UIntPtr _
) As String
public:
String^ GetSourceInfoFromAddress(
    UIntPtr Address
)
public:
String^ GetSourceInfoFromAddress(
    UIntPtr Address
)
Parameters
Address
Type:   Online System UIntPtr
Address value to match with source code
Return Value
String with source code information
See Also
NetDbgObj Class
NetDbgObj Members
GetSourceInfoFromAddress Overload


GetSymbolFromAddress Method

NetDbgObj GetSymbolFromAddress Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
Name Description
Public method GetSymbolFromAddress(Double)
Returns the symbol information for the address passed into the function.
Examples
This example shows how to get the symbols infromation for a given address:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress((double)0x79222b54UL);
    manager.Write(strResults);

    //Release Debugger native objects
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress((double)0x79222b54UL);
    manager.Write(strResults);

    //Release Debugger native objects
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
w3svc!HTTP_REQUEST::`vftable'
w3svc!HTTP_REQUEST::`vftable'

            Results are:

  Public method  GetSymbolFromAddress(UInt64)

            Returns the symbol information for the address passed into the function.

Examples
This example shows how to get the symbols infromation for a given address:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(0x79222b54UL);
    manager.Write(strResults);

    //Release debugger native objects
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(0x79222b54UL);
    manager.Write(strResults);

    //Release debugger native objects
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
w3svc!HTTP_REQUEST::`vftable'
w3svc!HTTP_REQUEST::`vftable'

            Results are:

  Public method  GetSymbolFromAddress(UIntPtr)

            Returns the symbol information for the address passed into the function.

Examples
This example shows how to get the symbols infromation for a given address:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(new UIntPtr(0x79222b54UL));

    //Writes the results on the report
    manager.Write(strResults);
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(new UIntPtr(0x79222b54UL));

    //Writes the results on the report
    manager.Write(strResults);
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
w3svc!HTTP_REQUEST::`vftable'
w3svc!HTTP_REQUEST::`vftable'

            Results are:

Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


GetSymbolFromAddress Method (Double)

NetDbgObj GetSymbolFromAddress Method (Double) Debug Diagnostics Tool 2.1 DebugDiag
Returns the symbol information for the address passed into the function.
Examples
This example shows how to get the symbols infromation for a given address:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress((double)0x79222b54UL);
    manager.Write(strResults);

    //Release Debugger native objects
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress((double)0x79222b54UL);
    manager.Write(strResults);

    //Release Debugger native objects
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
w3svc!HTTP_REQUEST::`vftable'
w3svc!HTTP_REQUEST::`vftable'

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetSymbolFromAddress(
    double Address
)
public string GetSymbolFromAddress(
    double Address
)
Public Function GetSymbolFromAddress ( _
    Address As Double _
) As String
Public Function GetSymbolFromAddress ( _
    Address As Double _
) As String
public:
String^ GetSymbolFromAddress(
    double Address
)
public:
String^ GetSymbolFromAddress(
    double Address
)
Parameters
Address
Type:   Online System Double
Double with the address value used for querying the symbol
Return Value
String with symbols information if found.
See Also
NetDbgObj Class
NetDbgObj Members
GetSymbolFromAddress Overload


GetSymbolFromAddress Method (UInt64)

NetDbgObj GetSymbolFromAddress Method (UInt64) Debug Diagnostics Tool 2.1 DebugDiag
Returns the symbol information for the address passed into the function.
Examples
This example shows how to get the symbols infromation for a given address:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(0x79222b54UL);
    manager.Write(strResults);

    //Release debugger native objects
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(0x79222b54UL);
    manager.Write(strResults);

    //Release debugger native objects
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
w3svc!HTTP_REQUEST::`vftable'
w3svc!HTTP_REQUEST::`vftable'

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetSymbolFromAddress(
    ulong Address
)
public string GetSymbolFromAddress(
    ulong Address
)
Public Function GetSymbolFromAddress ( _
    Address As ULong _
) As String
Public Function GetSymbolFromAddress ( _
    Address As ULong _
) As String
public:
String^ GetSymbolFromAddress(
    unsigned long long Address
)
public:
String^ GetSymbolFromAddress(
    unsigned long long Address
)
Parameters
Address
Type:   Online System UInt64
Uint64 with the address value used for querying the symbol
Return Value
String with symbols information if found.
See Also
NetDbgObj Class
NetDbgObj Members
GetSymbolFromAddress Overload


GetSymbolFromAddress Method (UIntPtr)

NetDbgObj GetSymbolFromAddress Method (UIntPtr) Debug Diagnostics Tool 2.1 DebugDiag
Returns the symbol information for the address passed into the function.
Examples
This example shows how to get the symbols infromation for a given address:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(new UIntPtr(0x79222b54UL));

    //Writes the results on the report
    manager.Write(strResults);
    debugger.Dispose();
}
// Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger.GetSymbolFromAddress(new UIntPtr(0x79222b54UL));

    //Writes the results on the report
    manager.Write(strResults);
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
w3svc!HTTP_REQUEST::`vftable'
w3svc!HTTP_REQUEST::`vftable'

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetSymbolFromAddress(
    UIntPtr Address
)
public string GetSymbolFromAddress(
    UIntPtr Address
)
Public Function GetSymbolFromAddress ( _
    Address As UIntPtr _
) As String
Public Function GetSymbolFromAddress ( _
    Address As UIntPtr _
) As String
public:
String^ GetSymbolFromAddress(
    UIntPtr Address
)
public:
String^ GetSymbolFromAddress(
    UIntPtr Address
)
Parameters
Address
Type:   Online System UIntPtr
UintPtr with the address value used for querying the symbol
Return Value
String with symbols information.
See Also
NetDbgObj Class
NetDbgObj Members
GetSymbolFromAddress Overload


GetThreadByManagedThreadId Method

NetDbgObj GetThreadByManagedThreadId Method Debug Diagnostics Tool 2.1 DebugDiag
This method returns an instance of a NetDbgThread object based on the system managed thread ID passed into the function.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetDbgThread GetThreadByManagedThreadId(
    int managedThreadId
)
public NetDbgThread GetThreadByManagedThreadId(
    int managedThreadId
)
Public Function GetThreadByManagedThreadId ( _
    managedThreadId As Integer _
) As NetDbgThread
Public Function GetThreadByManagedThreadId ( _
    managedThreadId As Integer _
) As NetDbgThread
public:
NetDbgThread^ GetThreadByManagedThreadId(
    int managedThreadId
)
public:
NetDbgThread^ GetThreadByManagedThreadId(
    int managedThreadId
)
Parameters
managedThreadId
Type:   Online System Int32
Integer value representing the ID of the Managed Thread.
Return Value
Instance of NetDbgThread object.
See Also
NetDbgObj Class
NetDbgObj Members


GetThreadBySystemID Method

NetDbgObj GetThreadBySystemID Method Debug Diagnostics Tool 2.1 DebugDiag
This method returns an instance of a NetDbgThread object based on the system thread ID passed into the function.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetDbgThread GetThreadBySystemID(
    int SystemID
)
public NetDbgThread GetThreadBySystemID(
    int SystemID
)
Public Function GetThreadBySystemID ( _
    SystemID As Integer _
) As NetDbgThread
Public Function GetThreadBySystemID ( _
    SystemID As Integer _
) As NetDbgThread
public:
NetDbgThread^ GetThreadBySystemID(
    int SystemID
)
public:
NetDbgThread^ GetThreadBySystemID(
    int SystemID
)
Parameters
SystemID
Type:   Online System Int32
Integer value representing the Thread ID
Return Value
Instance of a NetDbgThread object
See Also
NetDbgObj Class
NetDbgObj Members


InjectLeakTrack Method

NetDbgObj InjectLeakTrack Method Debug Diagnostics Tool 2.1 DebugDiag
This method loads (injects) LeakTrack into the debuggee process. This starts memory and handle leak tracking in the debuggee process. Applicable for live debugging only.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void InjectLeakTrack()
public void InjectLeakTrack()
Public Sub InjectLeakTrack
Public Sub InjectLeakTrack
public:
void InjectLeakTrack()
public:
void InjectLeakTrack()
See Also
NetDbgObj Class
NetDbgObj Members


IsLeakTrackLoaded Method

NetDbgObj IsLeakTrackLoaded Method Debug Diagnostics Tool 2.1 DebugDiag
Method that will return true if leaktrack module has been loaded on the process pointed on the parameter

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool IsLeakTrackLoaded(
    int ProcessID
)
public bool IsLeakTrackLoaded(
    int ProcessID
)
Public Function IsLeakTrackLoaded ( _
    ProcessID As Integer _
) As Boolean
Public Function IsLeakTrackLoaded ( _
    ProcessID As Integer _
) As Boolean
public:
bool IsLeakTrackLoaded(
    int ProcessID
)
public:
bool IsLeakTrackLoaded(
    int ProcessID
)
Parameters
ProcessID
Type:   Online System Int32
integer value representing the process ID
Return Value
True if leaktrack has been loaded, false otherwise
See Also
NetDbgObj Class
NetDbgObj Members


Kill Method

NetDbgObj Kill Method Debug Diagnostics Tool 2.1 DebugDiag
This function will stop the debugger.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void Kill()
public void Kill()
Public Sub Kill
Public Sub Kill
public:
void Kill()
public:
void Kill()
See Also
NetDbgObj Class
NetDbgObj Members


OpenDump Method

NetDbgObj OpenDump Method Debug Diagnostics Tool 2.1 DebugDiag
This method creates a NetDbgObj that represents an instance of the debugger using a Dumpfile and optionaly other paramaters

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public static NetDbgObj OpenDump(
    string dumpPath,
    string symbolPath = null,
    string imagePath = null,
    Object pProgress = null,
    bool throwOnBitnessMismatch = false,
    bool loadClrRuntime = true,
    bool loadClrHeap = true
)
public static NetDbgObj OpenDump(
    string dumpPath,
    string symbolPath = null,
    string imagePath = null,
    Object pProgress = null,
    bool throwOnBitnessMismatch = false,
    bool loadClrRuntime = true,
    bool loadClrHeap = true
)
Public Shared Function OpenDump ( _
    dumpPath As String, _
    Optional symbolPath As String = Nothing, _
    Optional imagePath As String = Nothing, _
    Optional pProgress As Object = Nothing, _
    Optional throwOnBitnessMismatch As Boolean = False, _
    Optional loadClrRuntime As Boolean = True, _
    Optional loadClrHeap As Boolean = True _
) As NetDbgObj
Public Shared Function OpenDump ( _
    dumpPath As String, _
    Optional symbolPath As String = Nothing, _
    Optional imagePath As String = Nothing, _
    Optional pProgress As Object = Nothing, _
    Optional throwOnBitnessMismatch As Boolean = False, _
    Optional loadClrRuntime As Boolean = True, _
    Optional loadClrHeap As Boolean = True _
) As NetDbgObj
public:
static NetDbgObj^ OpenDump(
    String^ dumpPath,
    String^ symbolPath = nullptr,
    String^ imagePath = nullptr,
    Object^ pProgress = nullptr,
    bool throwOnBitnessMismatch = false,
    bool loadClrRuntime = true,
    bool loadClrHeap = true
)
public:
static NetDbgObj^ OpenDump(
    String^ dumpPath,
    String^ symbolPath = nullptr,
    String^ imagePath = nullptr,
    Object^ pProgress = nullptr,
    bool throwOnBitnessMismatch = false,
    bool loadClrRuntime = true,
    bool loadClrHeap = true
)
Parameters
dumpPath
Type:   Online System String
Required, dump file name including its path
symbolPath (Optional)
Type:   Online System String
Optional, symbols path, the default value is null
imagePath (Optional)
Type:   Online System String
Optional, compiled modules path, the default vlue is null
pProgress (Optional)
Type:   Online System Object
Optional, Object that will show the progress of the executed analysis, the default value is null
throwOnBitnessMismatch (Optional)
Type:   Online System Boolean
Optional, the default value is false
loadClrRuntime (Optional)
Type:   Online System Boolean
Optional, pass true to load CLR runtime information, the default value is trueOptional, pass true to load CLR heap information, the default value is true
loadClrHeap (Optional)
Type:   Online System Boolean
Return Value
A Reference to the NetDbgObj that represents the debugger used to open the dump file.
See Also
NetDbgObj Class
NetDbgObj Members


ReadANSIString Method

NetDbgObj ReadANSIString Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
Name Description
Public method ReadANSIString(Double)
This method tries to read the address passed into the function as an ANSI string and return that string.
Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString((double)0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString((double)0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadANSIString(UInt64)

            This method tries to read the address passed into the function as an ANSI string and return that string.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadANSIString(UIntPtr)

            This method tries to read the address passed into the function as an ANSI string and return that string.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(new UIntPtr(0x010ced71UL));
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(new UIntPtr(0x010ced71UL));
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


ReadANSIString Method (Double)

NetDbgObj ReadANSIString Method (Double) Debug Diagnostics Tool 2.1 DebugDiag
This method tries to read the address passed into the function as an ANSI string and return that string.
Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString((double)0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString((double)0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ReadANSIString(
    double Address
)
public string ReadANSIString(
    double Address
)
Public Function ReadANSIString ( _
    Address As Double _
) As String
Public Function ReadANSIString ( _
    Address As Double _
) As String
public:
String^ ReadANSIString(
    double Address
)
public:
String^ ReadANSIString(
    double Address
)
Parameters
Address
Type:   Online System Double
Address value where the string is located.
Return Value
String value found on the address if any. If a string does not reside at that address the string returned is empty.
See Also
NetDbgObj Class
NetDbgObj Members
ReadANSIString Overload


ReadANSIString Method (UInt64)

NetDbgObj ReadANSIString Method (UInt64) Debug Diagnostics Tool 2.1 DebugDiag
This method tries to read the address passed into the function as an ANSI string and return that string.
Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(0x010ced71UL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ReadANSIString(
    ulong Address
)
public string ReadANSIString(
    ulong Address
)
Public Function ReadANSIString ( _
    Address As ULong _
) As String
Public Function ReadANSIString ( _
    Address As ULong _
) As String
public:
String^ ReadANSIString(
    unsigned long long Address
)
public:
String^ ReadANSIString(
    unsigned long long Address
)
Parameters
Address
Type:   Online System UInt64
Address value where the string is located.
Return Value
String value found on the address if any. If a string does not reside at that address the string returned is empty.
See Also
NetDbgObj Class
NetDbgObj Members
ReadANSIString Overload


ReadANSIString Method (UIntPtr)

NetDbgObj ReadANSIString Method (UIntPtr) Debug Diagnostics Tool 2.1 DebugDiag
This method tries to read the address passed into the function as an ANSI string and return that string.
Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(new UIntPtr(0x010ced71UL));
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadANSIString(new UIntPtr(0x010ced71UL));
    manager.Write(strResults);

    //Release Debugger Native Resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ReadANSIString(
    UIntPtr Address
)
public string ReadANSIString(
    UIntPtr Address
)
Public Function ReadANSIString ( _
    Address As UIntPtr _
) As String
Public Function ReadANSIString ( _
    Address As UIntPtr _
) As String
public:
String^ ReadANSIString(
    UIntPtr Address
)
public:
String^ ReadANSIString(
    UIntPtr Address
)
Parameters
Address
Type:   Online System UIntPtr
Address value where the string is located.
Return Value
String value found on the address if any. If a string does not reside at that address the string returned is empty.
See Also
NetDbgObj Class
NetDbgObj Members
ReadANSIString Overload


ReadByte Method

NetDbgObj ReadByte Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | ReadByte(Double) | This method reads an 8-Bit value at the address that is passed into the function and returns it as an Integer value.
Public method | ReadByte(UInt64) | This method reads an 8-Bit value at the address that is passed into the function and returns it as an Integer value.
Public method | ReadByte(UIntPtr) | This method reads an 8-Bit value at the address that is passed into the function and returns it as an Integer value.
Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


ReadByte Method (Double)

NetDbgObj ReadByte Method (Double) Debug Diagnostics Tool 2.1 DebugDiag
This method reads an 8-Bit value at the address that is passed into the function and returns it as an Integer value.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int ReadByte(
    double Address
)
public int ReadByte(
    double Address
)
Public Function ReadByte ( _
    Address As Double _
) As Integer
Public Function ReadByte ( _
    Address As Double _
) As Integer
public:
int ReadByte(
    double Address
)
public:
int ReadByte(
    double Address
)
Parameters
Address
Type:   Online System Double
Address to read
Return Value
8 Bit Value represented by a integer
See Also
NetDbgObj Class
NetDbgObj Members
ReadByte Overload


ReadByte Method (UInt64)

NetDbgObj ReadByte Method (UInt64) Debug Diagnostics Tool 2.1 DebugDiag
This method reads an 8-Bit value at the address that is passed into the function and returns it as an Integer value.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int ReadByte(
    ulong Address
)
public int ReadByte(
    ulong Address
)
Public Function ReadByte ( _
    Address As ULong _
) As Integer
Public Function ReadByte ( _
    Address As ULong _
) As Integer
public:
int ReadByte(
    unsigned long long Address
)
public:
int ReadByte(
    unsigned long long Address
)
Parameters
Address
Type:   Online System UInt64
Address to read
Return Value
8 Bit Value represented by a integer
See Also
NetDbgObj Class
NetDbgObj Members
ReadByte Overload


ReadByte Method (UIntPtr)

NetDbgObj ReadByte Method (UIntPtr) Debug Diagnostics Tool 2.1 DebugDiag
This method reads an 8-Bit value at the address that is passed into the function and returns it as an Integer value.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int ReadByte(
    UIntPtr Address
)
public int ReadByte(
    UIntPtr Address
)
Public Function ReadByte ( _
    Address As UIntPtr _
) As Integer
Public Function ReadByte ( _
    Address As UIntPtr _
) As Integer
public:
int ReadByte(
    UIntPtr Address
)
public:
int ReadByte(
    UIntPtr Address
)
Parameters
Address
Type:   Online System UIntPtr
Address to read
Return Value
8 Bit Value represented by a integer
See Also
NetDbgObj Class
NetDbgObj Members
ReadByte Overload


ReadDWord Method

NetDbgObj ReadDWord Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | ReadDWord(Double) | This method reads 32-Bits of data at the address passed into the function and returns it as a Double value.
Public method | ReadDWord(UInt64) | This method reads 32-Bits of data at the address passed into the function and returns it as a Double value.
Public method | ReadDWord(UIntPtr) | This method reads 32-Bits of data at the address passed into the function and returns it as a Double value.
Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


ReadDWord Method (Double)

NetDbgObj ReadDWord Method (Double) Debug Diagnostics Tool 2.1 DebugDiag
This method reads 32-Bits of data at the address passed into the function and returns it as a Double value.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double ReadDWord(
    double Address
)
public double ReadDWord(
    double Address
)
Public Function ReadDWord ( _
    Address As Double _
) As Double
Public Function ReadDWord ( _
    Address As Double _
) As Double
public:
double ReadDWord(
    double Address
)
public:
double ReadDWord(
    double Address
)
Parameters
Address
Type:   Online System Double
Address where the 32 bits will be read
Return Value
Double number representing the 32 bits value
See Also
NetDbgObj Class
NetDbgObj Members
ReadDWord Overload


ReadDWord Method (UInt64)

NetDbgObj ReadDWord Method (UInt64) Debug Diagnostics Tool 2.1 DebugDiag
This method reads 32-Bits of data at the address passed into the function and returns it as a Double value.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ulong ReadDWord(
    ulong Address
)
public ulong ReadDWord(
    ulong Address
)
Public Function ReadDWord ( _
    Address As ULong _
) As ULong
Public Function ReadDWord ( _
    Address As ULong _
) As ULong
public:
unsigned long long ReadDWord(
    unsigned long long Address
)
public:
unsigned long long ReadDWord(
    unsigned long long Address
)
Parameters
Address
Type:   Online System UInt64
Address where the 32 bits will be read
Return Value
Double number representing the 32 bits value
See Also
NetDbgObj Class
NetDbgObj Members
ReadDWord Overload


ReadDWord Method (UIntPtr)

NetDbgObj ReadDWord Method (UIntPtr) Debug Diagnostics Tool 2.1 DebugDiag
This method reads 32-Bits of data at the address passed into the function and returns it as a Double value.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public UIntPtr ReadDWord(
    UIntPtr Address
)
public UIntPtr ReadDWord(
    UIntPtr Address
)
Public Function ReadDWord ( _
    Address As UIntPtr _
) As UIntPtr
Public Function ReadDWord ( _
    Address As UIntPtr _
) As UIntPtr
public:
UIntPtr ReadDWord(
    UIntPtr Address
)
public:
UIntPtr ReadDWord(
    UIntPtr Address
)
Parameters
Address
Type:   Online System UIntPtr
Address where the 32 bits will be read
Return Value
Double number representing the 32 bits value
See Also
NetDbgObj Class
NetDbgObj Members
ReadDWord Overload


ReadQWord Method

NetDbgObj ReadQWord Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | ReadQWord(Double) | This method reads 64-Bits of data at the address passed into the function and returns it as a Double value.
Public method | ReadQWord(UInt64) | This method reads 64-Bits of data at the address passed into the function and returns it as a Double value.
Public method | ReadQWord(UIntPtr) | This method reads 64-Bits of data at the address passed into the function and returns it as a Double value.
Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


ReadQWord Method (Double)

NetDbgObj ReadQWord Method (Double) Debug Diagnostics Tool 2.1 DebugDiag
This method reads 64-Bits of data at the address passed into the function and returns it as a Double value.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double ReadQWord(
    double Address
)
public double ReadQWord(
    double Address
)
Public Function ReadQWord ( _
    Address As Double _
) As Double
Public Function ReadQWord ( _
    Address As Double _
) As Double
public:
double ReadQWord(
    double Address
)
public:
double ReadQWord(
    double Address
)
Parameters
Address
Type:   Online System Double
Address where the 64 bits will be read
Return Value
Double number representing the 64 bits value
See Also
NetDbgObj Class
NetDbgObj Members
ReadQWord Overload


ReadQWord Method (UInt64)

NetDbgObj ReadQWord Method (UInt64) Debug Diagnostics Tool 2.1 DebugDiag
This method reads 64-Bits of data at the address passed into the function and returns it as a Double value.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ulong ReadQWord(
    ulong Address
)
public ulong ReadQWord(
    ulong Address
)
Public Function ReadQWord ( _
    Address As ULong _
) As ULong
Public Function ReadQWord ( _
    Address As ULong _
) As ULong
public:
unsigned long long ReadQWord(
    unsigned long long Address
)
public:
unsigned long long ReadQWord(
    unsigned long long Address
)
Parameters
Address
Type:   Online System UInt64
Address where the 64 bits will be read
Return Value
Double number representing the 64 bits value
See Also
NetDbgObj Class
NetDbgObj Members
ReadQWord Overload


ReadQWord Method (UIntPtr)

NetDbgObj ReadQWord Method (UIntPtr) Debug Diagnostics Tool 2.1 DebugDiag
This method reads 64-Bits of data at the address passed into the function and returns it as a Double value.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public UIntPtr ReadQWord(
    UIntPtr Address
)
public UIntPtr ReadQWord(
    UIntPtr Address
)
Public Function ReadQWord ( _
    Address As UIntPtr _
) As UIntPtr
Public Function ReadQWord ( _
    Address As UIntPtr _
) As UIntPtr
public:
UIntPtr ReadQWord(
    UIntPtr Address
)
public:
UIntPtr ReadQWord(
    UIntPtr Address
)
Parameters
Address
Type:   Online System UIntPtr
Address where the 64 bits will be read
Return Value
Double number representing the 64 bits value
See Also
NetDbgObj Class
NetDbgObj Members
ReadQWord Overload


ReadString Method

NetDbgObj ReadString Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
Name Description
Public method ReadString(Double, Boolean)
This method tries to read the address passed into the function as an ANSI string if the Boolean value passed in is False, or as a Unicode string if the Boolean value passed in is True.
Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString((double)0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString((double)0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadString(UInt64, Boolean)

            This method tries to read the address passed into the function as an ANSI string if the Boolean value passed in is False, or as a Unicode string if the Boolean value passed in is True.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

  Public method  ReadString(UIntPtr, Boolean)

            This method tries to read the address passed into the function as an ANSI string if the Boolean value passed in is False, or as a Unicode string if the Boolean value passed in is True.

Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(new UIntPtr(0x010ced71UL), false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(new UIntPtr(0x010ced71UL), false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


ReadString Method (Double, Boolean)

NetDbgObj ReadString Method (Double, Boolean) Debug Diagnostics Tool 2.1 DebugDiag
This method tries to read the address passed into the function as an ANSI string if the Boolean value passed in is False, or as a Unicode string if the Boolean value passed in is True.
Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString((double)0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString((double)0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ReadString(
    double Address,
    bool bUnicode
)
public string ReadString(
    double Address,
    bool bUnicode
)
Public Function ReadString ( _
    Address As Double, _
    bUnicode As Boolean _
) As String
Public Function ReadString ( _
    Address As Double, _
    bUnicode As Boolean _
) As String
public:
String^ ReadString(
    double Address,
    bool bUnicode
)
public:
String^ ReadString(
    double Address,
    bool bUnicode
)
Parameters
Address
Type:   Online System Double
Address Value where the string is located
bUnicode
Type:   Online System Boolean
True indicates to read a Unicode, False will attempt to get the string as ANSI
Return Value
String Value if any string is found, It will return an empty string if it cannot find a string at the address passed in.
See Also
NetDbgObj Class
NetDbgObj Members
ReadString Overload


ReadString Method (UInt64, Boolean)

NetDbgObj ReadString Method (UInt64, Boolean) Debug Diagnostics Tool 2.1 DebugDiag
This method tries to read the address passed into the function as an ANSI string if the Boolean value passed in is False, or as a Unicode string if the Boolean value passed in is True.
Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(0x010ced71UL, false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ReadString(
    ulong Address,
    bool bUnicode
)
public string ReadString(
    ulong Address,
    bool bUnicode
)
Public Function ReadString ( _
    Address As ULong, _
    bUnicode As Boolean _
) As String
Public Function ReadString ( _
    Address As ULong, _
    bUnicode As Boolean _
) As String
public:
String^ ReadString(
    unsigned long long Address,
    bool bUnicode
)
public:
String^ ReadString(
    unsigned long long Address,
    bool bUnicode
)
Parameters
Address
Type:   Online System UInt64
Address Value where the string is located
bUnicode
Type:   Online System Boolean
True indicates to read a Unicode, False will attempt to get the string as ANSI
Return Value
String Value if any string is found, It will return an empty string if it cannot find a string at the address passed in.
See Also
NetDbgObj Class
NetDbgObj Members
ReadString Overload


ReadString Method (UIntPtr, Boolean)

NetDbgObj ReadString Method (UIntPtr, Boolean) Debug Diagnostics Tool 2.1 DebugDiag
This method tries to read the address passed into the function as an ANSI string if the Boolean value passed in is False, or as a Unicode string if the Boolean value passed in is True.
Examples
This example shows how to use the ReadANSIString to get a string value from a dump file:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(new UIntPtr(0x010ced71UL), false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadString(new UIntPtr(0x010ced71UL), false);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Default.htm
Default.htm

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ReadString(
    UIntPtr Address,
    bool bUnicode
)
public string ReadString(
    UIntPtr Address,
    bool bUnicode
)
Public Function ReadString ( _
    Address As UIntPtr, _
    bUnicode As Boolean _
) As String
Public Function ReadString ( _
    Address As UIntPtr, _
    bUnicode As Boolean _
) As String
public:
String^ ReadString(
    UIntPtr Address,
    bool bUnicode
)
public:
String^ ReadString(
    UIntPtr Address,
    bool bUnicode
)
Parameters
Address
Type:   Online System UIntPtr
Address Value where the string is located
bUnicode
Type:   Online System Boolean
True indicates to read a Unicode, False will attempt to get the string as ANSI
Return Value
String Value if any string is found, It will return an empty string if it cannot find a string at the address passed in.
See Also
NetDbgObj Class
NetDbgObj Members
ReadString Overload


ReadUnicodeString Method

NetDbgObj ReadUnicodeString Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
Name Description
Public method ReadUnicodeString(Double)
This method tries to read the address passed into the function as an UNICODE string and return that string.
Examples
This example shows how to use the ReadUnicodeString to get a string value from a dump file:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString((double)0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString((double)0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Hello World!
Hello World!

            Results are:

  Public method  ReadUnicodeString(UInt64)

            This method tries to read the address passed into the function as an UNICODE string and return that string.

Examples
This example shows how to use the ReadUnicodeString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Hello World!
Hello World!

            Results are:

  Public method  ReadUnicodeString(UIntPtr)

            This method tries to read the address passed into the function as an UNICODE string and return that string.

Examples
This example shows how to use the ReadUnicodeString to get a string value from a dump file:

C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(new UIntPtr(0x010caf8fUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(new UIntPtr(0x010caf8fUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Hello World!
Hello World!

            Results are:

Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


ReadUnicodeString Method (Double)

NetDbgObj ReadUnicodeString Method (Double) Debug Diagnostics Tool 2.1 DebugDiag
This method tries to read the address passed into the function as an UNICODE string and return that string.
Examples
This example shows how to use the ReadUnicodeString to get a string value from a dump file:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString((double)0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString((double)0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Hello World!
Hello World!

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ReadUnicodeString(
    double Address
)
public string ReadUnicodeString(
    double Address
)
Public Function ReadUnicodeString ( _
    Address As Double _
) As String
Public Function ReadUnicodeString ( _
    Address As Double _
) As String
public:
String^ ReadUnicodeString(
    double Address
)
public:
String^ ReadUnicodeString(
    double Address
)
Parameters
Address
Type:   Online System Double
Address value where the string is located.
Return Value
String value found on the address if any. If a string does not reside at that address the string returned is empty.
See Also
NetDbgObj Class
NetDbgObj Members
ReadUnicodeString Overload


ReadUnicodeString Method (UInt64)

NetDbgObj ReadUnicodeString Method (UInt64) Debug Diagnostics Tool 2.1 DebugDiag
This method tries to read the address passed into the function as an UNICODE string and return that string.
Examples
This example shows how to use the ReadUnicodeString to get a string value from a dump file:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(0x010caf8fUL);
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Hello World!
Hello World!

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ReadUnicodeString(
    ulong Address
)
public string ReadUnicodeString(
    ulong Address
)
Public Function ReadUnicodeString ( _
    Address As ULong _
) As String
Public Function ReadUnicodeString ( _
    Address As ULong _
) As String
public:
String^ ReadUnicodeString(
    unsigned long long Address
)
public:
String^ ReadUnicodeString(
    unsigned long long Address
)
Parameters
Address
Type:   Online System UInt64
Address value where the string is located.
Return Value
String value found on the address if any. If a string does not reside at that address the string returned is empty.
See Also
NetDbgObj Class
NetDbgObj Members
ReadUnicodeString Overload


ReadUnicodeString Method (UIntPtr)

NetDbgObj ReadUnicodeString Method (UIntPtr) Debug Diagnostics Tool 2.1 DebugDiag
This method tries to read the address passed into the function as an UNICODE string and return that string.
Examples
This example shows how to use the ReadUnicodeString to get a string value from a dump file:
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(new UIntPtr(0x010caf8fUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
 // Creates an instance of the NetAnalyzer
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    string strResults = debugger..ReadUnicodeString(new UIntPtr(0x010caf8fUL));
    manager.Write(strResults);

    //Release Debugger native resources
    debugger.Dispose();
}
View Colorized Copy to Clipboard Print
Hello World!
Hello World!

            Results are:

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ReadUnicodeString(
    UIntPtr Address
)
public string ReadUnicodeString(
    UIntPtr Address
)
Public Function ReadUnicodeString ( _
    Address As UIntPtr _
) As String
Public Function ReadUnicodeString ( _
    Address As UIntPtr _
) As String
public:
String^ ReadUnicodeString(
    UIntPtr Address
)
public:
String^ ReadUnicodeString(
    UIntPtr Address
)
Parameters
Address
Type:   Online System UIntPtr
Address value where the string is located.
Return Value
String value found on the address if any. If a string does not reside at that address the string returned is empty.
See Also
NetDbgObj Class
NetDbgObj Members
ReadUnicodeString Overload


ReadWord Method

NetDbgObj ReadWord Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | ReadWord(Double) | This method reads 16-Bits of data at the address passed into the function and returns it as an Integer value.
Public method | ReadWord(UInt64) | This method reads 16-Bits of data at the address passed into the function and returns it as an Integer value.
Public method | ReadWord(UIntPtr) | This method reads 16-Bits of data at the address passed into the function and returns it as an Integer value.
Back to Top
See Also
NetDbgObj Class
NetDbgObj Members


ReadWord Method (Double)

NetDbgObj ReadWord Method (Double) Debug Diagnostics Tool 2.1 DebugDiag
This method reads 16-Bits of data at the address passed into the function and returns it as an Integer value.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int ReadWord(
    double Address
)
public int ReadWord(
    double Address
)
Public Function ReadWord ( _
    Address As Double _
) As Integer
Public Function ReadWord ( _
    Address As Double _
) As Integer
public:
int ReadWord(
    double Address
)
public:
int ReadWord(
    double Address
)
Parameters
Address
Type:   Online System Double
Address value where the 16 Bits of data is located
Return Value
Integer value representing the 16 bits obtained on the address specified.
See Also
NetDbgObj Class
NetDbgObj Members
ReadWord Overload


ReadWord Method (UInt64)

NetDbgObj ReadWord Method (UInt64) Debug Diagnostics Tool 2.1 DebugDiag
This method reads 16-Bits of data at the address passed into the function and returns it as an Integer value.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int ReadWord(
    ulong Address
)
public int ReadWord(
    ulong Address
)
Public Function ReadWord ( _
    Address As ULong _
) As Integer
Public Function ReadWord ( _
    Address As ULong _
) As Integer
public:
int ReadWord(
    unsigned long long Address
)
public:
int ReadWord(
    unsigned long long Address
)
Parameters
Address
Type:   Online System UInt64
Address value where the 16 Bits of data is located
Return Value
Integer value representing the 16 bits obtained on the address specified.
See Also
NetDbgObj Class
NetDbgObj Members
ReadWord Overload


ReadWord Method (UIntPtr)

NetDbgObj ReadWord Method (UIntPtr) Debug Diagnostics Tool 2.1 DebugDiag
This method reads 16-Bits of data at the address passed into the function and returns it as an Integer value.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int ReadWord(
    UIntPtr Address
)
public int ReadWord(
    UIntPtr Address
)
Public Function ReadWord ( _
    Address As UIntPtr _
) As Integer
Public Function ReadWord ( _
    Address As UIntPtr _
) As Integer
public:
int ReadWord(
    UIntPtr Address
)
public:
int ReadWord(
    UIntPtr Address
)
Parameters
Address
Type:   Online System UIntPtr
Address value where the 16 Bits of data is located
Return Value
Integer value representing the 16 bits obtained on the address specified.
See Also
NetDbgObj Class
NetDbgObj Members
ReadWord Overload


RemoveBreakpoint Method

NetDbgObj RemoveBreakpoint Method Debug Diagnostics Tool 2.1 DebugDiag
Allows to remove a breakpoint while in live debugging

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void RemoveBreakpoint(
    int BreakpointId
)
public void RemoveBreakpoint(
    int BreakpointId
)
Public Sub RemoveBreakpoint ( _
    BreakpointId As Integer _
)
Public Sub RemoveBreakpoint ( _
    BreakpointId As Integer _
)
public:
void RemoveBreakpoint(
    int BreakpointId
)
public:
void RemoveBreakpoint(
    int BreakpointId
)
Parameters
BreakpointId
Type:   Online System Int32
Index of the breakpoint to remove
See Also
NetDbgObj Class
NetDbgObj Members


UnDecorateSymbol Method

NetDbgObj UnDecorateSymbol Method Debug Diagnostics Tool 2.1 DebugDiag
This method undecorates decorated C++ symbol names. The method requires a Pointer to a null-terminated string that specifies a decorated C++ symbol name. This name can be identified by the first character of the name, which is always a question mark (?).

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string UnDecorateSymbol(
    string DecoratedSym
)
public string UnDecorateSymbol(
    string DecoratedSym
)
Public Function UnDecorateSymbol ( _
    DecoratedSym As String _
) As String
Public Function UnDecorateSymbol ( _
    DecoratedSym As String _
) As String
public:
String^ UnDecorateSymbol(
    String^ DecoratedSym
)
public:
String^ UnDecorateSymbol(
    String^ DecoratedSym
)
Parameters
DecoratedSym
Type:   Online System String
String representing the decorated symbol
Return Value
String representing the undecorated value of the symbol
See Also
NetDbgObj Class
NetDbgObj Members


UnloadExtensions Method

NetDbgObj UnloadExtensions Method Debug Diagnostics Tool 2.1 DebugDiag
This method unloads any NetDbgHost extensions loaded so far. This method is for internal use only and should not be called from any custom analysis rule.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void UnloadExtensions()
public void UnloadExtensions()
Public Sub UnloadExtensions
Public Sub UnloadExtensions
public:
void UnloadExtensions()
public:
void UnloadExtensions()
See Also
NetDbgObj Class
NetDbgObj Members


Write Method

NetDbgObj Write Method Debug Diagnostics Tool 2.1 DebugDiag
This method is used to write an arbitrary string to the text log file created and maintained by DbgHost. Applicable for live debugging only.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void Write(
    string Output
)
public void Write(
    string Output
)
Public Sub Write ( _
    Output As String _
)
Public Sub Write ( _
    Output As String _
)
public:
void Write(
    String^ Output
)
public:
void Write(
    String^ Output
)
Parameters
Output
Type:   Online System String
String value to write on the log file.
See Also
NetDbgObj Class
NetDbgObj Members


NetDbgObj Properties

NetDbgObj Properties Debug Diagnostics Tool 2.1 DebugDiag
The NetDbgObj type exposes the following members.
Properties
Name | Description
Public property AspxPages
This property returns a List of ClrObject containing all the System.Web.HttpContext objects found on the managed heap of the process.
Public property ClrRuntime
This property returns a Microsoft.Diagnostics.Runtime.ClrRuntime object that allows access to Managed objects and structures on the dump.
Public property | ClrRuntimes
Public property ClrVersionInfo
This Property returns the ClrInfo that corresponds to the ClrRuntime that has been selected for analysis. Targets may have more than one ClrRuntime loaded SxS, but only one will be selected for analysis.
Public property CreateTime
This property returns the date and time that the process was created.
Public property CritSecs
This property returns an instance of the CritSecInfo object. The CritSecInfo object can be used to retrieve DbgCritSec objects which are used to query information about critical sections in the dump file.
Public property DacFileName
This read only property provides the name of the DAC file used to access the managed objects and structures on the dump.
Public property DebuggerStatus
This property is primarily used by the extensions to provide interactive feedback. For Example, this is the last line displayed below progress bar when the tool is analyzing the data.
Public property DumpFileFullPath
This property returns the full path an file name of the current dump file.
Public property DumpFileShortName
This property returns the file name and extension of the current dump.
Public property DumpPath
This property accepts the location of the dump file. This property is only used for live debugging sessions. It provides a way for scripts to set the location where dumps should be created.

Field Value

Path where teh dump should be stored.
Public property DumpTickCount
This property returns the number of milliseconds the process had been running.
Public property DumpType
This property returns the type of the memory dumps. For example: MINI DUMPS, FULL DUMPS etc.
Public property EnvironmentVariables
This property returns an instance of the EnvironmentVariables object.
Public property ExceptionThread
This property returns an instance of the NetDbgThread object which contains information about the thread that caused an exception.
Public property ExecutableName
This property returns the name of the process for this debugger object.
Public property ExtendedThreadInfoAvailable
This property returns True if extended thread information is available otherwise it returns False.
Public property HasMultipleClrRuntimesWithThreads
True if there are multiple CLR Runtimes loaded in the process, each having one or more managed threads.
Public property IdleProcessingInterval
This property controls how often the OnIdleProcessing event fires.
Public property Is32Bit
This property returns true whenever the process is 32 bits or false otherwise.
Public property IsClrExtensionMissing
This property returns True if the dump file has the CLR loaded and an appropriate sos.dll or psscor.dll extension could not be found, otherwise it returns False.
Public property IsCrashDump
This property returns True if the dump file was generated when an exception occurred in the process, otherwise it returns False.
Public property IsManaged
This property returns true if any version of the .Net CLR is loaded into the process, or false otherwise.
Public property ManagedException
This property returns an instance of the ClrException object.
Public property ManagedThreads
This property returns a List of NetDbgThread for all the managed threads found on the process.
Public property Modules
This property returns an instance of the ModuleInfo object.
Public property NativeException
This property returns an instance of the NetDbgException object.
Public property NumberProcessors
Returns the number of logic cores found on the OS
Public property OSBuild
This property returns the build number for the operating system.
Public property OSServicePack
This property returns the version of the service pack for the operating system.
Public property OSVersion
This property returns the version number of the operating system.
Public property OSVersionMajor
This property returns the Major version number of the operating system.
Public property OSVersionMinor
This property returns the Minor version number of the operating system.
Public property ProcessID
This property returns the process ID.
Public property ProcessUpTime
This property returns the process uptime.
Public property RawDebugger
This method will return a reference object of the COM object that implements the IDebugClient and represents the debugger.
Public property State
This property returns an instance of the DbgState object.
Public property SystemUpTime
This property returns the system uptime after last reboot.
Public property Threads
This property returns a List of NetDbgThread objects find on the dump file being analyzed
Back to Top
See Also
NetDbgObj Class


AspxPages Property

NetDbgObj AspxPages Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a List of ClrObject containing all the System.Web.HttpContext objects found on the managed heap of the process.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public List<ClrObject> AspxPages { get; }
public List<ClrObject> AspxPages { get; }
Public ReadOnly Property AspxPages As List(Of ClrObject)
    Get
Public ReadOnly Property AspxPages As List(Of ClrObject)
    Get
public:
property List<ClrObject^>^ AspxPages {
    List<ClrObject^>^ get ();
}
public:
property List<ClrObject^>^ AspxPages {
    List<ClrObject^>^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


ClrRuntime Property

NetDbgObj ClrRuntime Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a Microsoft.Diagnostics.Runtime.ClrRuntime object that allows access to Managed objects and structures on the dump.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ClrRuntime ClrRuntime { get; set; }
public ClrRuntime ClrRuntime { get; set; }
Public Property ClrRuntime As ClrRuntime
    Get
    Set
Public Property ClrRuntime As ClrRuntime
    Get
    Set
public:
property ClrRuntime^ ClrRuntime {
    ClrRuntime^ get ();
    void set (ClrRuntime^ value);
}
public:
property ClrRuntime^ ClrRuntime {
    ClrRuntime^ get ();
    void set (ClrRuntime^ value);
}
See Also
NetDbgObj Class
NetDbgObj Members


ClrRuntimes Property

NetDbgObj ClrRuntimes Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public List<ClrRuntime> ClrRuntimes { get; set; }
public List<ClrRuntime> ClrRuntimes { get; set; }
Public Property ClrRuntimes As List(Of ClrRuntime)
    Get
    Set
Public Property ClrRuntimes As List(Of ClrRuntime)
    Get
    Set
public:
property List<ClrRuntime^>^ ClrRuntimes {
    List<ClrRuntime^>^ get ();
    void set (List<ClrRuntime^>^ value);
}
public:
property List<ClrRuntime^>^ ClrRuntimes {
    List<ClrRuntime^>^ get ();
    void set (List<ClrRuntime^>^ value);
}
See Also
NetDbgObj Class
NetDbgObj Members


ClrVersionInfo Property

NetDbgObj ClrVersionInfo Property Debug Diagnostics Tool 2.1 DebugDiag
This Property returns the ClrInfo that corresponds to the ClrRuntime that has been selected for analysis. Targets may have more than one ClrRuntime loaded SxS, but only one will be selected for analysis.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ClrInfo ClrVersionInfo { get; set; }
public ClrInfo ClrVersionInfo { get; set; }
Public Property ClrVersionInfo As ClrInfo
    Get
    Set
Public Property ClrVersionInfo As ClrInfo
    Get
    Set
public:
property ClrInfo^ ClrVersionInfo {
    ClrInfo^ get ();
    void set (ClrInfo^ value);
}
public:
property ClrInfo^ ClrVersionInfo {
    ClrInfo^ get ();
    void set (ClrInfo^ value);
}
See Also
NetDbgObj Class
NetDbgObj Members


CreateTime Property

NetDbgObj CreateTime Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the date and time that the process was created.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public DateTime CreateTime { get; }
public DateTime CreateTime { get; }
Public ReadOnly Property CreateTime As DateTime
    Get
Public ReadOnly Property CreateTime As DateTime
    Get
public:
property DateTime CreateTime {
    DateTime get ();
}
public:
property DateTime CreateTime {
    DateTime get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


CritSecs Property

NetDbgObj CritSecs Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an instance of the CritSecInfo object. The CritSecInfo object can be used to retrieve DbgCritSec objects which are used to query information about critical sections in the dump file.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ICritSecInfo CritSecs { get; }
public ICritSecInfo CritSecs { get; }
Public ReadOnly Property CritSecs As ICritSecInfo
    Get
Public ReadOnly Property CritSecs As ICritSecInfo
    Get
public:
property ICritSecInfo^ CritSecs {
    ICritSecInfo^ get ();
}
public:
property ICritSecInfo^ CritSecs {
    ICritSecInfo^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


DacFileName Property

NetDbgObj DacFileName Property Debug Diagnostics Tool 2.1 DebugDiag
This read only property provides the name of the DAC file used to access the managed objects and structures on the dump.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string DacFileName { get; }
public string DacFileName { get; }
Public ReadOnly Property DacFileName As String
    Get
Public ReadOnly Property DacFileName As String
    Get
public:
property String^ DacFileName {
    String^ get ();
}
public:
property String^ DacFileName {
    String^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


DebuggerStatus Property

NetDbgObj DebuggerStatus Property Debug Diagnostics Tool 2.1 DebugDiag
This property is primarily used by the extensions to provide interactive feedback. For Example, this is the last line displayed below progress bar when the tool is analyzing the data.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string DebuggerStatus { set; }
public string DebuggerStatus { set; }
Public WriteOnly Property DebuggerStatus As String
    Set
Public WriteOnly Property DebuggerStatus As String
    Set
public:
property String^ DebuggerStatus {
    void set (String^ value);
}
public:
property String^ DebuggerStatus {
    void set (String^ value);
}
See Also
NetDbgObj Class
NetDbgObj Members


DumpFileFullPath Property

NetDbgObj DumpFileFullPath Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the full path an file name of the current dump file.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string DumpFileFullPath { get; }
public string DumpFileFullPath { get; }
Public ReadOnly Property DumpFileFullPath As String
    Get
Public ReadOnly Property DumpFileFullPath As String
    Get
public:
property String^ DumpFileFullPath {
    String^ get ();
}
public:
property String^ DumpFileFullPath {
    String^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


DumpFileShortName Property

NetDbgObj DumpFileShortName Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the file name and extension of the current dump.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string DumpFileShortName { get; }
public string DumpFileShortName { get; }
Public ReadOnly Property DumpFileShortName As String
    Get
Public ReadOnly Property DumpFileShortName As String
    Get
public:
property String^ DumpFileShortName {
    String^ get ();
}
public:
property String^ DumpFileShortName {
    String^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


DumpPath Property

NetDbgObj DumpPath Property Debug Diagnostics Tool 2.1 DebugDiag
This property accepts the location of the dump file. This property is only used for live debugging sessions. It provides a way for scripts to set the location where dumps should be created.

Field Value

Path where teh dump should be stored.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string DumpPath { get; set; }
public string DumpPath { get; set; }
Public Property DumpPath As String
    Get
    Set
Public Property DumpPath As String
    Get
    Set
public:
property String^ DumpPath {
    String^ get ();
    void set (String^ value);
}
public:
property String^ DumpPath {
    String^ get ();
    void set (String^ value);
}
See Also
NetDbgObj Class
NetDbgObj Members


DumpTickCount Property

NetDbgObj DumpTickCount Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the number of milliseconds the process had been running.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double DumpTickCount { get; }
public double DumpTickCount { get; }
Public ReadOnly Property DumpTickCount As Double
    Get
Public ReadOnly Property DumpTickCount As Double
    Get
public:
property double DumpTickCount {
    double get ();
}
public:
property double DumpTickCount {
    double get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


DumpType Property

NetDbgObj DumpType Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the type of the memory dumps. For example: MINI DUMPS, FULL DUMPS etc.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string DumpType { get; }
public string DumpType { get; }
Public ReadOnly Property DumpType As String
    Get
Public ReadOnly Property DumpType As String
    Get
public:
property String^ DumpType {
    String^ get ();
}
public:
property String^ DumpType {
    String^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


EnvironmentVariables Property

NetDbgObj EnvironmentVariables Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an instance of the EnvironmentVariables object.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnvironmentVariables EnvironmentVariables { get; }
public IEnvironmentVariables EnvironmentVariables { get; }
Public ReadOnly Property EnvironmentVariables As IEnvironmentVariables
    Get
Public ReadOnly Property EnvironmentVariables As IEnvironmentVariables
    Get
public:
property IEnvironmentVariables^ EnvironmentVariables {
    IEnvironmentVariables^ get ();
}
public:
property IEnvironmentVariables^ EnvironmentVariables {
    IEnvironmentVariables^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


ExceptionThread Property

NetDbgObj ExceptionThread Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an instance of the NetDbgThread object which contains information about the thread that caused an exception.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetDbgThread ExceptionThread { get; }
public NetDbgThread ExceptionThread { get; }
Public ReadOnly Property ExceptionThread As NetDbgThread
    Get
Public ReadOnly Property ExceptionThread As NetDbgThread
    Get
public:
property NetDbgThread^ ExceptionThread {
    NetDbgThread^ get ();
}
public:
property NetDbgThread^ ExceptionThread {
    NetDbgThread^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


ExecutableName Property

NetDbgObj ExecutableName Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the name of the process for this debugger object.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ExecutableName { get; }
public string ExecutableName { get; }
Public ReadOnly Property ExecutableName As String
    Get
Public ReadOnly Property ExecutableName As String
    Get
public:
property String^ ExecutableName {
    String^ get ();
}
public:
property String^ ExecutableName {
    String^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


ExtendedThreadInfoAvailable Property

NetDbgObj ExtendedThreadInfoAvailable Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns True if extended thread information is available otherwise it returns False.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool ExtendedThreadInfoAvailable { get; }
public bool ExtendedThreadInfoAvailable { get; }
Public ReadOnly Property ExtendedThreadInfoAvailable As Boolean
    Get
Public ReadOnly Property ExtendedThreadInfoAvailable As Boolean
    Get
public:
property bool ExtendedThreadInfoAvailable {
    bool get ();
}
public:
property bool ExtendedThreadInfoAvailable {
    bool get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


HasMultipleClrRuntimesWithThreads Property

NetDbgObj HasMultipleClrRuntimesWithThreads Property Debug Diagnostics Tool 2.1 DebugDiag
True if there are multiple CLR Runtimes loaded in the process, each having one or more managed threads.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool HasMultipleClrRuntimesWithThreads { get; set; }
public bool HasMultipleClrRuntimesWithThreads { get; set; }
Public Property HasMultipleClrRuntimesWithThreads As Boolean
    Get
    Set
Public Property HasMultipleClrRuntimesWithThreads As Boolean
    Get
    Set
public:
property bool HasMultipleClrRuntimesWithThreads {
    bool get ();
    void set (bool value);
}
public:
property bool HasMultipleClrRuntimesWithThreads {
    bool get ();
    void set (bool value);
}
See Also
NetDbgObj Class
NetDbgObj Members


IdleProcessingInterval Property

NetDbgObj IdleProcessingInterval Property Debug Diagnostics Tool 2.1 DebugDiag
This property controls how often the OnIdleProcessing event fires.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int IdleProcessingInterval { get; set; }
public int IdleProcessingInterval { get; set; }
Public Property IdleProcessingInterval As Integer
    Get
    Set
Public Property IdleProcessingInterval As Integer
    Get
    Set
public:
property int IdleProcessingInterval {
    int get ();
    void set (int value);
}
public:
property int IdleProcessingInterval {
    int get ();
    void set (int value);
}
See Also
NetDbgObj Class
NetDbgObj Members


Is32Bit Property

NetDbgObj Is32Bit Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns true whenever the process is 32 bits or false otherwise.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool Is32Bit { get; }
public bool Is32Bit { get; }
Public ReadOnly Property Is32Bit As Boolean
    Get
Public ReadOnly Property Is32Bit As Boolean
    Get
public:
property bool Is32Bit {
    bool get ();
}
public:
property bool Is32Bit {
    bool get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


IsClrExtensionMissing Property

NetDbgObj IsClrExtensionMissing Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns True if the dump file has the CLR loaded and an appropriate sos.dll or psscor.dll extension could not be found, otherwise it returns False.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool IsClrExtensionMissing { get; }
public bool IsClrExtensionMissing { get; }
Public ReadOnly Property IsClrExtensionMissing As Boolean
    Get
Public ReadOnly Property IsClrExtensionMissing As Boolean
    Get
public:
property bool IsClrExtensionMissing {
    bool get ();
}
public:
property bool IsClrExtensionMissing {
    bool get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


IsCrashDump Property

NetDbgObj IsCrashDump Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns True if the dump file was generated when an exception occurred in the process, otherwise it returns False.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool IsCrashDump { get; }
public bool IsCrashDump { get; }
Public ReadOnly Property IsCrashDump As Boolean
    Get
Public ReadOnly Property IsCrashDump As Boolean
    Get
public:
property bool IsCrashDump {
    bool get ();
}
public:
property bool IsCrashDump {
    bool get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


IsManaged Property

NetDbgObj IsManaged Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns true if any version of the .Net CLR is loaded into the process, or false otherwise.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool IsManaged { get; }
public bool IsManaged { get; }
Public ReadOnly Property IsManaged As Boolean
    Get
Public ReadOnly Property IsManaged As Boolean
    Get
public:
property bool IsManaged {
    bool get ();
}
public:
property bool IsManaged {
    bool get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


ManagedException Property

NetDbgObj ManagedException Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an instance of the ClrException object.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ClrException ManagedException { get; }
public ClrException ManagedException { get; }
Public ReadOnly Property ManagedException As ClrException
    Get
Public ReadOnly Property ManagedException As ClrException
    Get
public:
property ClrException^ ManagedException {
    ClrException^ get ();
}
public:
property ClrException^ ManagedException {
    ClrException^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


ManagedThreads Property

NetDbgObj ManagedThreads Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a List of NetDbgThread for all the managed threads found on the process.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public List<NetDbgThread> ManagedThreads { get; }
public List<NetDbgThread> ManagedThreads { get; }
Public ReadOnly Property ManagedThreads As List(Of NetDbgThread)
    Get
Public ReadOnly Property ManagedThreads As List(Of NetDbgThread)
    Get
public:
property List<NetDbgThread^>^ ManagedThreads {
    List<NetDbgThread^>^ get ();
}
public:
property List<NetDbgThread^>^ ManagedThreads {
    List<NetDbgThread^>^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


Modules Property

NetDbgObj Modules Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an instance of the ModuleInfo object.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IModuleInfo Modules { get; }
public IModuleInfo Modules { get; }
Public ReadOnly Property Modules As IModuleInfo
    Get
Public ReadOnly Property Modules As IModuleInfo
    Get
public:
property IModuleInfo^ Modules {
    IModuleInfo^ get ();
}
public:
property IModuleInfo^ Modules {
    IModuleInfo^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


NativeException Property

NetDbgObj NativeException Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an instance of the NetDbgException object.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetDbgException NativeException { get; }
public NetDbgException NativeException { get; }
Public ReadOnly Property NativeException As NetDbgException
    Get
Public ReadOnly Property NativeException As NetDbgException
    Get
public:
property NetDbgException^ NativeException {
    NetDbgException^ get ();
}
public:
property NetDbgException^ NativeException {
    NetDbgException^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


NumberProcessors Property

NetDbgObj NumberProcessors Property Debug Diagnostics Tool 2.1 DebugDiag
Returns the number of logic cores found on the OS

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int NumberProcessors { get; }
public int NumberProcessors { get; }
Public ReadOnly Property NumberProcessors As Integer
    Get
Public ReadOnly Property NumberProcessors As Integer
    Get
public:
property int NumberProcessors {
    int get ();
}
public:
property int NumberProcessors {
    int get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


OSBuild Property

NetDbgObj OSBuild Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the build number for the operating system.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string OSBuild { get; }
public string OSBuild { get; }
Public ReadOnly Property OSBuild As String
    Get
Public ReadOnly Property OSBuild As String
    Get
public:
property String^ OSBuild {
    String^ get ();
}
public:
property String^ OSBuild {
    String^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


OSServicePack Property

NetDbgObj OSServicePack Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version of the service pack for the operating system.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string OSServicePack { get; }
public string OSServicePack { get; }
Public ReadOnly Property OSServicePack As String
    Get
Public ReadOnly Property OSServicePack As String
    Get
public:
property String^ OSServicePack {
    String^ get ();
}
public:
property String^ OSServicePack {
    String^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


OSVersion Property

NetDbgObj OSVersion Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the version number of the operating system.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string OSVersion { get; }
public string OSVersion { get; }
Public ReadOnly Property OSVersion As String
    Get
Public ReadOnly Property OSVersion As String
    Get
public:
property String^ OSVersion {
    String^ get ();
}
public:
property String^ OSVersion {
    String^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


OSVersionMajor Property

NetDbgObj OSVersionMajor Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the Major version number of the operating system.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int OSVersionMajor { get; }
public int OSVersionMajor { get; }
Public ReadOnly Property OSVersionMajor As Integer
    Get
Public ReadOnly Property OSVersionMajor As Integer
    Get
public:
property int OSVersionMajor {
    int get ();
}
public:
property int OSVersionMajor {
    int get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


OSVersionMinor Property

NetDbgObj OSVersionMinor Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the Minor version number of the operating system.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int OSVersionMinor { get; }
public int OSVersionMinor { get; }
Public ReadOnly Property OSVersionMinor As Integer
    Get
Public ReadOnly Property OSVersionMinor As Integer
    Get
public:
property int OSVersionMinor {
    int get ();
}
public:
property int OSVersionMinor {
    int get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


ProcessID Property

NetDbgObj ProcessID Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the process ID.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int ProcessID { get; }
public int ProcessID { get; }
Public ReadOnly Property ProcessID As Integer
    Get
Public ReadOnly Property ProcessID As Integer
    Get
public:
property int ProcessID {
    int get ();
}
public:
property int ProcessID {
    int get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


ProcessUpTime Property

NetDbgObj ProcessUpTime Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the process uptime.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double ProcessUpTime { get; }
public double ProcessUpTime { get; }
Public ReadOnly Property ProcessUpTime As Double
    Get
Public ReadOnly Property ProcessUpTime As Double
    Get
public:
property double ProcessUpTime {
    double get ();
}
public:
property double ProcessUpTime {
    double get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


RawDebugger Property

NetDbgObj RawDebugger Property Debug Diagnostics Tool 2.1 DebugDiag
This method will return a reference object of the COM object that implements the IDebugClient and represents the debugger.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public Object RawDebugger { get; }
public Object RawDebugger { get; }
Public ReadOnly Property RawDebugger As Object
    Get
Public ReadOnly Property RawDebugger As Object
    Get
public:
property Object^ RawDebugger {
    Object^ get ();
}
public:
property Object^ RawDebugger {
    Object^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


State Property

NetDbgObj State Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an instance of the DbgState object.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IDbgState State { get; }
public IDbgState State { get; }
Public ReadOnly Property State As IDbgState
    Get
Public ReadOnly Property State As IDbgState
    Get
public:
property IDbgState^ State {
    IDbgState^ get ();
}
public:
property IDbgState^ State {
    IDbgState^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


SystemUpTime Property

NetDbgObj SystemUpTime Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the system uptime after last reboot.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double SystemUpTime { get; }
public double SystemUpTime { get; }
Public ReadOnly Property SystemUpTime As Double
    Get
Public ReadOnly Property SystemUpTime As Double
    Get
public:
property double SystemUpTime {
    double get ();
}
public:
property double SystemUpTime {
    double get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


Threads Property

NetDbgObj Threads Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a List of NetDbgThread objects find on the dump file being analyzed

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public List<NetDbgThread> Threads { get; }
public List<NetDbgThread> Threads { get; }
Public ReadOnly Property Threads As List(Of NetDbgThread)
    Get
Public ReadOnly Property Threads As List(Of NetDbgThread)
    Get
public:
property List<NetDbgThread^>^ Threads {
    List<NetDbgThread^>^ get ();
}
public:
property List<NetDbgThread^>^ Threads {
    List<NetDbgThread^>^ get ();
}
See Also
NetDbgObj Class
NetDbgObj Members


NetDbgStackFrame Class

NetDbgStackFrame Class Debug Diagnostics Tool 2.1 DebugDiag
This object represents a single frame of a call stack for a thread in the debugger. An instance of this object is retrieved from the NetDbgStackFrames object.
Inheritance Hierarchy
Online System Object
DebugDiag.DotNet NetDbgStackFrame

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class NetDbgStackFrame
public class NetDbgStackFrame
Public Class NetDbgStackFrame
Public Class NetDbgStackFrame
public ref class NetDbgStackFrame
public ref class NetDbgStackFrame
Remarks
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
//Create an instance of the NetAnalyzer object to access the NetScriptManager
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    if (debugger.IsCrashDump)
    {
            //Gets a reference to the Thread where the Exception happened
            NetDbgThread DbgThread = debugger.ExceptionThread;

            //Gets a reference to the collection of stackframes of the thread
            NetDbgStackFrames StackFrames = DbgThread.StackFrames;

            //Get an instance of the Module Object using the debugger
            NetDbgStackFrame StackFrame = StackFrames[2];

            manager.WriteLine("Return Address: " + debugger.GetAs32BitHexString(StackFrame.ReturnAddress));
            manager.WriteLine("Instruction Address: " + debugger.GetAs32BitHexString(StackFrame.InstructionAddress));
            manager.WriteLine("Stack Address: " + debugger.GetAs32BitHexString(StackFrame.StackAddress));
            manager.WriteLine("Frame Number: " + StackFrame.FrameNumber);
            manager.WriteLine("Child EBP: " + debugger.GetAs32BitHexString(StackFrame.ChildEBP));
            manager.WriteLine("Argument 1: " + debugger.GetAs32BitHexString(StackFrame.GetArg(0)));
            manager.WriteLine("Argument 2: " + debugger.GetAs32BitHexString(StackFrame.GetArg(1)));
            manager.WriteLine("Argument 3: " + debugger.GetAs32BitHexString(StackFrame.GetArg(2)));
            manager.WriteLine("Argument 4: " + debugger.GetAs32BitHexString(StackFrame.GetArg(3)));
    }
    else
        manager.WriteLine("This is not a crash dump");

    //Release Debugger native resources
    debugger.Dispose();
}
//Create an instance of the NetAnalyzer object to access the NetScriptManager
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    if (debugger.IsCrashDump)
    {
            //Gets a reference to the Thread where the Exception happened
            NetDbgThread DbgThread = debugger.ExceptionThread;

            //Gets a reference to the collection of stackframes of the thread
            NetDbgStackFrames StackFrames = DbgThread.StackFrames;

            //Get an instance of the Module Object using the debugger
            NetDbgStackFrame StackFrame = StackFrames[2];

            manager.WriteLine("Return Address: " + debugger.GetAs32BitHexString(StackFrame.ReturnAddress));
            manager.WriteLine("Instruction Address: " + debugger.GetAs32BitHexString(StackFrame.InstructionAddress));
            manager.WriteLine("Stack Address: " + debugger.GetAs32BitHexString(StackFrame.StackAddress));
            manager.WriteLine("Frame Number: " + StackFrame.FrameNumber);
            manager.WriteLine("Child EBP: " + debugger.GetAs32BitHexString(StackFrame.ChildEBP));
            manager.WriteLine("Argument 1: " + debugger.GetAs32BitHexString(StackFrame.GetArg(0)));
            manager.WriteLine("Argument 2: " + debugger.GetAs32BitHexString(StackFrame.GetArg(1)));
            manager.WriteLine("Argument 3: " + debugger.GetAs32BitHexString(StackFrame.GetArg(2)));
            manager.WriteLine("Argument 4: " + debugger.GetAs32BitHexString(StackFrame.GetArg(3)));
    }
    else
        manager.WriteLine("This is not a crash dump");

    //Release Debugger native resources
    debugger.Dispose();
}
See Also
NetDbgStackFrame Members


NetDbgStackFrame Members

NetDbgStackFrame Members Debug Diagnostics Tool 2.1 DebugDiag

The NetDbgStackFrame type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | GetArg | This property returns the function arguments passed on the stack for this stack frame. When calling this function pass in a value of 0,1 2, or 3 to get the 1st, 2nd, 3rd or 4th argument on the stack respectively.
Public method | GetFrameText | Returns the string that represents the function being executed on the frame
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Properties
Name Description
Public property ChildEBP
This property returns the value of EBP for this stack frame.
Public property FrameNumber
This property returns the number for this frame, or gets the frame for the specified value. A value of zero indicates the top of the stack frame.

Field Value

Frame number to get
Public property FunctionName
Returns a string representing the function name only that is being executed on the current frame
Public property InstructionAddress
This property returns the instruction address for this stack frame.
Public property IsManaged
Returns tru if the current frame is for a managed (.Net) function
Public property Module
Returns an instance of the COM Module object associated with the code being executed on the current frame
Public property ModuleName
Returns the module name associated with the code being executed on the current frame
Public property Offset
This property returns the value for the offset of the instruction being executed at that time.
Public property ReturnAddress
This property returns the return address for this stack frame.
Public property StackAddress
This property returns the calculated value of ESP for this stack frame.
Back to Top
See Also
NetDbgStackFrame Class


NetDbgStackFrame Methods

NetDbgStackFrame Methods Debug Diagnostics Tool 2.1 DebugDiag
The NetDbgStackFrame type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | GetArg | This property returns the function arguments passed on the stack for this stack frame. When calling this function pass in a value of 0,1 2, or 3 to get the 1st, 2nd, 3rd or 4th argument on the stack respectively.
Public method | GetFrameText | Returns the string that represents the function being executed on the frame
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
NetDbgStackFrame Class


GetArg Method

NetDbgStackFrame GetArg Method Debug Diagnostics Tool 2.1 DebugDiag
This property returns the function arguments passed on the stack for this stack frame. When calling this function pass in a value of 0,1 2, or 3 to get the 1st, 2nd, 3rd or 4th argument on the stack respectively.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double GetArg(
    int argNumber
)
public double GetArg(
    int argNumber
)
Public Function GetArg ( _
    argNumber As Integer _
) As Double
Public Function GetArg ( _
    argNumber As Integer _
) As Double
public:
double GetArg(
    int argNumber
)
public:
double GetArg(
    int argNumber
)
Parameters
argNumber
Type:   Online System Int32
Integer that represents the argument index
Return Value
Long representing the value found on that memory address
See Also
NetDbgStackFrame Class
NetDbgStackFrame Members


GetFrameText Method

NetDbgStackFrame GetFrameText Method Debug Diagnostics Tool 2.1 DebugDiag
Returns the string that represents the function being executed on the frame

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetFrameText(
    bool includeOffset,
    bool includeSourceInfo
)
public string GetFrameText(
    bool includeOffset,
    bool includeSourceInfo
)
Public Function GetFrameText ( _
    includeOffset As Boolean, _
    includeSourceInfo As Boolean _
) As String
Public Function GetFrameText ( _
    includeOffset As Boolean, _
    includeSourceInfo As Boolean _
) As String
public:
String^ GetFrameText(
    bool includeOffset,
    bool includeSourceInfo
)
public:
String^ GetFrameText(
    bool includeOffset,
    bool includeSourceInfo
)
Parameters
includeOffset
Type:   Online System Boolean
Boolean parameter to indicate if the offset value of the instruction being executed should be included on the return value
includeSourceInfo
Type:   Online System Boolean
Boolean parameter to indicate if the corresponding source file information should be included on the return value
Return Value
Function name
See Also
NetDbgStackFrame Class
NetDbgStackFrame Members


NetDbgStackFrame Properties

NetDbgStackFrame Properties Debug Diagnostics Tool 2.1 DebugDiag
The NetDbgStackFrame type exposes the following members.
Properties
Name Description
Public property ChildEBP
This property returns the value of EBP for this stack frame.
Public property FrameNumber
This property returns the number for this frame, or gets the frame for the specified value. A value of zero indicates the top of the stack frame.

Field Value

Frame number to get
Public property FunctionName
Returns a string representing the function name only that is being executed on the current frame
Public property InstructionAddress
This property returns the instruction address for this stack frame.
Public property IsManaged
Returns tru if the current frame is for a managed (.Net) function
Public property Module
Returns an instance of the COM Module object associated with the code being executed on the current frame
Public property ModuleName
Returns the module name associated with the code being executed on the current frame
Public property Offset
This property returns the value for the offset of the instruction being executed at that time.
Public property ReturnAddress
This property returns the return address for this stack frame.
Public property StackAddress
This property returns the calculated value of ESP for this stack frame.
Back to Top
See Also
NetDbgStackFrame Class


ChildEBP Property

NetDbgStackFrame ChildEBP Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the value of EBP for this stack frame.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double ChildEBP { get; }
public double ChildEBP { get; }
Public ReadOnly Property ChildEBP As Double
    Get
Public ReadOnly Property ChildEBP As Double
    Get
public:
property double ChildEBP {
    double get ();
}
public:
property double ChildEBP {
    double get ();
}
See Also
NetDbgStackFrame Class
NetDbgStackFrame Members


FrameNumber Property

NetDbgStackFrame FrameNumber Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the number for this frame, or gets the frame for the specified value. A value of zero indicates the top of the stack frame.

Field Value

Frame number to get

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int FrameNumber { get; set; }
public int FrameNumber { get; set; }
Public Property FrameNumber As Integer
    Get
    Set
Public Property FrameNumber As Integer
    Get
    Set
public:
property int FrameNumber {
    int get ();
    void set (int value);
}
public:
property int FrameNumber {
    int get ();
    void set (int value);
}
See Also
NetDbgStackFrame Class
NetDbgStackFrame Members


FunctionName Property

NetDbgStackFrame FunctionName Property Debug Diagnostics Tool 2.1 DebugDiag
Returns a string representing the function name only that is being executed on the current frame

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string FunctionName { get; }
public string FunctionName { get; }
Public ReadOnly Property FunctionName As String
    Get
Public ReadOnly Property FunctionName As String
    Get
public:
property String^ FunctionName {
    String^ get ();
}
public:
property String^ FunctionName {
    String^ get ();
}
See Also
NetDbgStackFrame Class
NetDbgStackFrame Members


InstructionAddress Property

NetDbgStackFrame InstructionAddress Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the instruction address for this stack frame.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double InstructionAddress { get; }
public double InstructionAddress { get; }
Public ReadOnly Property InstructionAddress As Double
    Get
Public ReadOnly Property InstructionAddress As Double
    Get
public:
property double InstructionAddress {
    double get ();
}
public:
property double InstructionAddress {
    double get ();
}
See Also
NetDbgStackFrame Class
NetDbgStackFrame Members


IsManaged Property

NetDbgStackFrame IsManaged Property Debug Diagnostics Tool 2.1 DebugDiag
Returns tru if the current frame is for a managed (.Net) function

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool IsManaged { get; }
public bool IsManaged { get; }
Public ReadOnly Property IsManaged As Boolean
    Get
Public ReadOnly Property IsManaged As Boolean
    Get
public:
property bool IsManaged {
    bool get ();
}
public:
property bool IsManaged {
    bool get ();
}
See Also
NetDbgStackFrame Class
NetDbgStackFrame Members


Module Property

NetDbgStackFrame Module Property Debug Diagnostics Tool 2.1 DebugDiag
Returns an instance of the COM Module object associated with the code being executed on the current frame

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IDbgModule Module { get; }
public IDbgModule Module { get; }
Public ReadOnly Property Module As IDbgModule
    Get
Public ReadOnly Property Module As IDbgModule
    Get
public:
property IDbgModule^ Module {
    IDbgModule^ get ();
}
public:
property IDbgModule^ Module {
    IDbgModule^ get ();
}
See Also
NetDbgStackFrame Class
NetDbgStackFrame Members


ModuleName Property

NetDbgStackFrame ModuleName Property Debug Diagnostics Tool 2.1 DebugDiag
Returns the module name associated with the code being executed on the current frame

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ModuleName { get; }
public string ModuleName { get; }
Public ReadOnly Property ModuleName As String
    Get
Public ReadOnly Property ModuleName As String
    Get
public:
property String^ ModuleName {
    String^ get ();
}
public:
property String^ ModuleName {
    String^ get ();
}
See Also
NetDbgStackFrame Class
NetDbgStackFrame Members


Offset Property

NetDbgStackFrame Offset Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the value for the offset of the instruction being executed at that time.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ulong Offset { get; }
public ulong Offset { get; }
Public ReadOnly Property Offset As ULong
    Get
Public ReadOnly Property Offset As ULong
    Get
public:
property unsigned long long Offset {
    unsigned long long get ();
}
public:
property unsigned long long Offset {
    unsigned long long get ();
}
See Also
NetDbgStackFrame Class
NetDbgStackFrame Members


ReturnAddress Property

NetDbgStackFrame ReturnAddress Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the return address for this stack frame.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double ReturnAddress { get; }
public double ReturnAddress { get; }
Public ReadOnly Property ReturnAddress As Double
    Get
Public ReadOnly Property ReturnAddress As Double
    Get
public:
property double ReturnAddress {
    double get ();
}
public:
property double ReturnAddress {
    double get ();
}
See Also
NetDbgStackFrame Class
NetDbgStackFrame Members


StackAddress Property

NetDbgStackFrame StackAddress Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the calculated value of ESP for this stack frame.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double StackAddress { get; }
public double StackAddress { get; }
Public ReadOnly Property StackAddress As Double
    Get
Public ReadOnly Property StackAddress As Double
    Get
public:
property double StackAddress {
    double get ();
}
public:
property double StackAddress {
    double get ();
}
See Also
NetDbgStackFrame Class
NetDbgStackFrame Members


NetDbgStackFrames Class

NetDbgStackFrames Class Debug Diagnostics Tool 2.1 DebugDiag
This object maintains a collection of NetDbgStackFrame objects. An instance of this object is obtained from the NetDbgThread.MixedStackFrames property.
Inheritance Hierarchy
Online System Object
Online System.Collections.Generic List NetDbgStackFrame
DebugDiag.DotNet NetDbgStackFrames

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class NetDbgStackFrames : List<NetDbgStackFrame>
public class NetDbgStackFrames : List<NetDbgStackFrame>
Public Class NetDbgStackFrames _
    Inherits List(Of NetDbgStackFrame)
Public Class NetDbgStackFrames _
    Inherits List(Of NetDbgStackFrame)
public ref class NetDbgStackFrames : public List<NetDbgStackFrame^>
public ref class NetDbgStackFrames : public List<NetDbgStackFrame^>
See Also
NetDbgStackFrames Members


NetDbgStackFrames Members

NetDbgStackFrames Members Debug Diagnostics Tool 2.1 DebugDiag

The NetDbgStackFrames type exposes the following members.
Constructors
 | Name | Description
Public method | NetDbgStackFrames | Constructor of the collection
Back to Top
Methods
 | Name | Description
Public method | Online Add | Adds an object to the end of the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online AddRange | Adds the elements of the specified collection to the end of the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online AsReadOnly | Returns a read-only Online IList T wrapper for the current collection. (Inherited from Online List NetDbgStackFrame .)
Public method | Online BinarySearch(T) | Searches the entire sorted Online List T for an element using the default comparer and returns the zero-based index of the element. (Inherited from Online List NetDbgStackFrame .)
Public method | Online BinarySearch(T, IComparer T ) | Searches the entire sorted Online List T for an element using the specified comparer and returns the zero-based index of the element. (Inherited from Online List NetDbgStackFrame .)
Public method | Online BinarySearch(Int32, Int32, T, IComparer T ) | Searches a range of elements in the sorted Online List T for an element using the specified comparer and returns the zero-based index of the element. (Inherited from Online List NetDbgStackFrame .)
Public method | Online Clear | Removes all elements from the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online Contains | Determines whether an element is in the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online ConvertAll TOutput | Converts the elements in the current Online List T to another type, and returns a list containing the converted elements. (Inherited from Online List NetDbgStackFrame .)
Public method | Online CopyTo( T ) | Copies the entire Online List T to a compatible one-dimensional array, starting at the beginning of the target array. (Inherited from Online List NetDbgStackFrame .)
Public method | Online CopyTo( T , Int32) | Copies the entire Online List T to a compatible one-dimensional array, starting at the specified index of the target array. (Inherited from Online List NetDbgStackFrame .)
Public method | Online CopyTo(Int32, T , Int32, Int32) | Copies a range of elements from the Online List T to a compatible one-dimensional array, starting at the specified index of the target array. (Inherited from Online List NetDbgStackFrame .)
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Public method | Online Exists | Determines whether the Online List T contains elements that match the conditions defined by the specified predicate. (Inherited from Online List NetDbgStackFrame .)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online Find | Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindAll | Retrieves all the elements that match the conditions defined by the specified predicate. (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindIndex(Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindIndex(Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the Online List T that extends from the specified index to the last element. (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindIndex(Int32, Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the Online List T that starts at the specified index and contains the specified number of elements. (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindLast | Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindLastIndex(Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindLastIndex(Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the Online List T that extends from the first element to the specified index. (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindLastIndex(Int32, Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the Online List T that contains the specified number of elements and ends at the specified index. (Inherited from Online List NetDbgStackFrame .)
Public method | Online ForEach | Performs the specified action on each element of the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online GetEnumerator | Returns an enumerator that iterates through the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetRange | Creates a shallow copy of a range of elements in the source Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Public method | Online IndexOf(T) | Searches for the specified object and returns the zero-based index of the first occurrence within the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online IndexOf(T, Int32) | Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the Online List T that extends from the specified index to the last element. (Inherited from Online List NetDbgStackFrame .)
Public method | Online IndexOf(T, Int32, Int32) | Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the Online List T that starts at the specified index and contains the specified number of elements. (Inherited from Online List NetDbgStackFrame .)
Public method | Online Insert | Inserts an element into the Online List T at the specified index. (Inherited from Online List NetDbgStackFrame .)
Public method | Online InsertRange | Inserts the elements of a collection into the Online List T at the specified index. (Inherited from Online List NetDbgStackFrame .)
Public method | Online LastIndexOf(T) | Searches for the specified object and returns the zero-based index of the last occurrence within the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online LastIndexOf(T, Int32) | Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the Online List T that extends from the first element to the specified index. (Inherited from Online List NetDbgStackFrame .)
Public method | Online LastIndexOf(T, Int32, Int32) | Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the Online List T that contains the specified number of elements and ends at the specified index. (Inherited from Online List NetDbgStackFrame .)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online Remove | Removes the first occurrence of a specific object from the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online RemoveAll | Removes the all the elements that match the conditions defined by the specified predicate. (Inherited from Online List NetDbgStackFrame .)
Public method | Online RemoveAt | Removes the element at the specified index of the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online RemoveRange | Removes a range of elements from the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online Reverse | Reverses the order of the elements in the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online Reverse(Int32, Int32) | Reverses the order of the elements in the specified range. (Inherited from Online List NetDbgStackFrame .)
Public method | Online Sort | Sorts the elements in the entire Online List T using the default comparer. (Inherited from Online List NetDbgStackFrame .)
Public method | Online Sort(IComparer T ) | Sorts the elements in the entire Online List T using the specified comparer. (Inherited from Online List NetDbgStackFrame .)
Public method | Online Sort(Comparison T ) | Sorts the elements in the entire Online List T using the specified Online Comparison T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online Sort(Int32, Int32, IComparer T ) | Sorts the elements in a range of elements in Online List T using the specified comparer. (Inherited from Online List NetDbgStackFrame .)
Public method | Online ToArray | Copies the elements of the Online List T to a new array. (Inherited from Online List NetDbgStackFrame .)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | Online TrimExcess | Sets the capacity to the actual number of elements in the Online List T , if that number is less than a threshold value. (Inherited from Online List NetDbgStackFrame .)
Public method | Online TrueForAll | Determines whether every element in the Online List T matches the conditions defined by the specified predicate. (Inherited from Online List NetDbgStackFrame .)
Back to Top
Properties
 | Name | Description
Public property | Online Capacity | Gets or sets the total number of elements the internal data structure can hold without resizing. (Inherited from Online List NetDbgStackFrame .)
Public property | Online Count | Gets the number of elements actually contained in the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public property | Online Item | Gets or sets the element at the specified index. (Inherited from Online List NetDbgStackFrame .)
Back to Top
See Also
NetDbgStackFrames Class


NetDbgStackFrames Constructor

NetDbgStackFrames Constructor Debug Diagnostics Tool 2.1 DebugDiag
Constructor of the collection

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetDbgStackFrames(
    IDbgThread legacyThread,
    NetDbgObj debugger,
    bool includeNativeFrames = true,
    bool includeManagedFrames = true
)
public NetDbgStackFrames(
    IDbgThread legacyThread,
    NetDbgObj debugger,
    bool includeNativeFrames = true,
    bool includeManagedFrames = true
)
Public Sub New ( _
    legacyThread As IDbgThread, _
    debugger As NetDbgObj, _
    Optional includeNativeFrames As Boolean = True, _
    Optional includeManagedFrames As Boolean = True _
)
Public Sub New ( _
    legacyThread As IDbgThread, _
    debugger As NetDbgObj, _
    Optional includeNativeFrames As Boolean = True, _
    Optional includeManagedFrames As Boolean = True _
)
public:
NetDbgStackFrames(
    IDbgThread^ legacyThread,
    NetDbgObj^ debugger,
    bool includeNativeFrames = true,
    bool includeManagedFrames = true
)
public:
NetDbgStackFrames(
    IDbgThread^ legacyThread,
    NetDbgObj^ debugger,
    bool includeNativeFrames = true,
    bool includeManagedFrames = true
)
Parameters
legacyThread
Type: IDbgThread
debugger
Type: DebugDiag.DotNet NetDbgObj
Reference of the NetDbgObj
includeNativeFrames (Optional)
Type:   Online System Boolean
Should the collection include the Native Frames, the default is true
includeManagedFrames (Optional)
Type:   Online System Boolean
Should the collection include the Managed Frames, the default is true
See Also
NetDbgStackFrames Class
NetDbgStackFrames Members


NetDbgStackFrames Methods

NetDbgStackFrames Methods Debug Diagnostics Tool 2.1 DebugDiag
The NetDbgStackFrames type exposes the following members.
Methods
 | Name | Description
Public method | Online Add | Adds an object to the end of the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online AddRange | Adds the elements of the specified collection to the end of the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online AsReadOnly | Returns a read-only Online IList T wrapper for the current collection. (Inherited from Online List NetDbgStackFrame .)
Public method | Online BinarySearch(T) | Searches the entire sorted Online List T for an element using the default comparer and returns the zero-based index of the element. (Inherited from Online List NetDbgStackFrame .)
Public method | Online BinarySearch(T, IComparer T ) | Searches the entire sorted Online List T for an element using the specified comparer and returns the zero-based index of the element. (Inherited from Online List NetDbgStackFrame .)
Public method | Online BinarySearch(Int32, Int32, T, IComparer T ) | Searches a range of elements in the sorted Online List T for an element using the specified comparer and returns the zero-based index of the element. (Inherited from Online List NetDbgStackFrame .)
Public method | Online Clear | Removes all elements from the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online Contains | Determines whether an element is in the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online ConvertAll TOutput | Converts the elements in the current Online List T to another type, and returns a list containing the converted elements. (Inherited from Online List NetDbgStackFrame .)
Public method | Online CopyTo( T ) | Copies the entire Online List T to a compatible one-dimensional array, starting at the beginning of the target array. (Inherited from Online List NetDbgStackFrame .)
Public method | Online CopyTo( T , Int32) | Copies the entire Online List T to a compatible one-dimensional array, starting at the specified index of the target array. (Inherited from Online List NetDbgStackFrame .)
Public method | Online CopyTo(Int32, T , Int32, Int32) | Copies a range of elements from the Online List T to a compatible one-dimensional array, starting at the specified index of the target array. (Inherited from Online List NetDbgStackFrame .)
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Public method | Online Exists | Determines whether the Online List T contains elements that match the conditions defined by the specified predicate. (Inherited from Online List NetDbgStackFrame .)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online Find | Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindAll | Retrieves all the elements that match the conditions defined by the specified predicate. (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindIndex(Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindIndex(Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the Online List T that extends from the specified index to the last element. (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindIndex(Int32, Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the Online List T that starts at the specified index and contains the specified number of elements. (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindLast | Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindLastIndex(Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindLastIndex(Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the Online List T that extends from the first element to the specified index. (Inherited from Online List NetDbgStackFrame .)
Public method | Online FindLastIndex(Int32, Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the Online List T that contains the specified number of elements and ends at the specified index. (Inherited from Online List NetDbgStackFrame .)
Public method | Online ForEach | Performs the specified action on each element of the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online GetEnumerator | Returns an enumerator that iterates through the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetRange | Creates a shallow copy of a range of elements in the source Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Public method | Online IndexOf(T) | Searches for the specified object and returns the zero-based index of the first occurrence within the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online IndexOf(T, Int32) | Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the Online List T that extends from the specified index to the last element. (Inherited from Online List NetDbgStackFrame .)
Public method | Online IndexOf(T, Int32, Int32) | Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the Online List T that starts at the specified index and contains the specified number of elements. (Inherited from Online List NetDbgStackFrame .)
Public method | Online Insert | Inserts an element into the Online List T at the specified index. (Inherited from Online List NetDbgStackFrame .)
Public method | Online InsertRange | Inserts the elements of a collection into the Online List T at the specified index. (Inherited from Online List NetDbgStackFrame .)
Public method | Online LastIndexOf(T) | Searches for the specified object and returns the zero-based index of the last occurrence within the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online LastIndexOf(T, Int32) | Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the Online List T that extends from the first element to the specified index. (Inherited from Online List NetDbgStackFrame .)
Public method | Online LastIndexOf(T, Int32, Int32) | Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the Online List T that contains the specified number of elements and ends at the specified index. (Inherited from Online List NetDbgStackFrame .)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online Remove | Removes the first occurrence of a specific object from the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online RemoveAll | Removes the all the elements that match the conditions defined by the specified predicate. (Inherited from Online List NetDbgStackFrame .)
Public method | Online RemoveAt | Removes the element at the specified index of the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online RemoveRange | Removes a range of elements from the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online Reverse | Reverses the order of the elements in the entire Online List T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online Reverse(Int32, Int32) | Reverses the order of the elements in the specified range. (Inherited from Online List NetDbgStackFrame .)
Public method | Online Sort | Sorts the elements in the entire Online List T using the default comparer. (Inherited from Online List NetDbgStackFrame .)
Public method | Online Sort(IComparer T ) | Sorts the elements in the entire Online List T using the specified comparer. (Inherited from Online List NetDbgStackFrame .)
Public method | Online Sort(Comparison T ) | Sorts the elements in the entire Online List T using the specified Online Comparison T . (Inherited from Online List NetDbgStackFrame .)
Public method | Online Sort(Int32, Int32, IComparer T ) | Sorts the elements in a range of elements in Online List T using the specified comparer. (Inherited from Online List NetDbgStackFrame .)
Public method | Online ToArray | Copies the elements of the Online List T to a new array. (Inherited from Online List NetDbgStackFrame .)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | Online TrimExcess | Sets the capacity to the actual number of elements in the Online List T , if that number is less than a threshold value. (Inherited from Online List NetDbgStackFrame .)
Public method | Online TrueForAll | Determines whether every element in the Online List T matches the conditions defined by the specified predicate. (Inherited from Online List NetDbgStackFrame .)
Back to Top
See Also
NetDbgStackFrames Class


NetDbgStackFrames Properties

NetDbgStackFrames Properties Debug Diagnostics Tool 2.1 DebugDiag
The NetDbgStackFrames type exposes the following members.
Properties
 | Name | Description
Public property | Online Capacity | Gets or sets the total number of elements the internal data structure can hold without resizing. (Inherited from Online List NetDbgStackFrame .)
Public property | Online Count | Gets the number of elements actually contained in the Online List T . (Inherited from Online List NetDbgStackFrame .)
Public property | Online Item | Gets or sets the element at the specified index. (Inherited from Online List NetDbgStackFrame .)
Back to Top
See Also
NetDbgStackFrames Class


NetDbgThread Class

NetDbgThread Class Debug Diagnostics Tool 2.1 DebugDiag
This object manages information about a thread in the dump file. An instance of this object can be obtained from the NetDbgObj.GetThreadBySystemID, the NetDbgObj.GetThreadByManagedThreadId and ExceptionThread methods of the NetDbgObj object, or by getting the thread list using the NetDbgObj.Threads method.
Inheritance Hierarchy
Online System Object
DebugDiag.DotNet NetDbgThread

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class NetDbgThread
public class NetDbgThread
Public Class NetDbgThread
Public Class NetDbgThread
public ref class NetDbgThread
public ref class NetDbgThread
Remarks
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
//Create an instance of the NetAnalyzer object to access the NetScriptManager
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    if (debugger.IsCrashDump)
    {
            //Gets a reference to the Thread where the Exception happened
            NetDbgThread DbgThread = debugger.ExceptionThread;

            manager.WriteLine("System ID: " + DbgThread.SystemID.ToString());
            manager.WriteLine("Debugger ID: " + DbgThread.ThreadID.ToString());
            manager.WriteLine("Start Address: " + debugger.GetAs32BitHexString(DbgThread.StartAddress) + " " + debugger.GetSymbolFromAddress(DbgThread.StartAddress));
            manager.WriteLine("Stack Address: " + debugger.GetAs32BitHexString(DbgThread.StackAddress));
            manager.WriteLine("Frame Address: " + debugger.GetAs32BitHexString(DbgThread.FrameAddress));
            manager.WriteLine("Instruction Address: " + debugger.GetAs32BitHexString(DbgThread.InstructionAddress) + " " + debugger.GetSymbolFromAddress(DbgThread.InstructionAddress));
    }
    else
        manager.WriteLine("This is not a crash dump");

    //Release Debugger native resources
    debugger.Dispose();
}
//Create an instance of the NetAnalyzer object to access the NetScriptManager
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Get an instance of the debugger through the NetScriptManager object
    NetScriptManager manager = analyzer.Manager;
    NetDbgObj debugger = manager.GetDebugger(@"C:\user.dmp");

    if (debugger.IsCrashDump)
    {
            //Gets a reference to the Thread where the Exception happened
            NetDbgThread DbgThread = debugger.ExceptionThread;

            manager.WriteLine("System ID: " + DbgThread.SystemID.ToString());
            manager.WriteLine("Debugger ID: " + DbgThread.ThreadID.ToString());
            manager.WriteLine("Start Address: " + debugger.GetAs32BitHexString(DbgThread.StartAddress) + " " + debugger.GetSymbolFromAddress(DbgThread.StartAddress));
            manager.WriteLine("Stack Address: " + debugger.GetAs32BitHexString(DbgThread.StackAddress));
            manager.WriteLine("Frame Address: " + debugger.GetAs32BitHexString(DbgThread.FrameAddress));
            manager.WriteLine("Instruction Address: " + debugger.GetAs32BitHexString(DbgThread.InstructionAddress) + " " + debugger.GetSymbolFromAddress(DbgThread.InstructionAddress));
    }
    else
        manager.WriteLine("This is not a crash dump");

    //Release Debugger native resources
    debugger.Dispose();
}
See Also
NetDbgThread Members


NetDbgThread Members

NetDbgThread Members Debug Diagnostics Tool 2.1 DebugDiag

The NetDbgThread type exposes the following members.
Methods
 | Name | Description
Public method | ChangeThreadContext | This method changes the current thread context to the thread context at the address passed into the function.
Public method | EnumerateStackExceptionObjects | This method returns an IEnumerable collection of ClrException objects found on the stack
Public method | EnumerateStackObjectRoots | This method returns an IEnumerable collection of ClrRoot objects of all managed (.Net) objects found on the stack
Public method | EnumerateStackObjectRoots(String) | This method returns an IEnumerable collection of ClrRoot objects of the type specified on the parameter.
Public method | EnumerateStackObjectRoots(String, Boolean) | This method returns an IEnumerable collection of ClrRoot objects of the type specified on the parameter.
Public method | EnumerateStackObjects | This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack
Public method | EnumerateStackObjects(Boolean) | This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack
Public method | EnumerateStackObjects(String) | This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack of the type specified
Public method | EnumerateStackObjects(String, Boolean) | This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack of the type specified
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | FindFirstStackObject | This Function returns a ClrObject of the first managed object that is found on the .Net stack.
Public method | FindFirstStackObject(String) | This Function returns a ClrObject of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.
Public method | FindFirstStackObject(String, Boolean) | This Function returns a ClrObject of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.
Public method | FindFirstStackObjectRoot | This Function returns a ClrRoot of the first managed object that is found on the .Net stack.
Public method | FindFirstStackObjectRoot(String) | This Function returns a ClrRoot of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.
Public method | FindFirstStackObjectRoot(String, Boolean) | This Function returns a ClrRoot of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.
Public method | FindFrame(String) | Finds the first frame which matches the searchText provided, using CompleteMatchIgnoreOffsets as the searchOption and ignoring case
Public method | FindFrame(String, Boolean) | Finds the first frame which matches the searchText provided, using CompleteMatchIgnoreOffsets as the searchOption and honoring/ignoring case depending on ignoreCase
Public method | FindFrame(String, Boolean, FrameSearchOptions) | Finds the first frame which matches the searchText provided, using the specified searchOption and honoring/ignoring case depending on ignoreCase
Public method | FlushStackFrames | This property can be called to clear the currently loaded stack frames for the active thread from the memory.
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | GetKernelTime | This method will return the amount of time this thread has executed in kernel mode since it has started, if extended thread information is available, otherwise the values returned will be zero. Call NetDbgObj.ExtendedThreadInfoAvailable to determine if extended thread information is available.
Public method | GetRegister | This property returns the value of a specific register for this thread context.
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Public method | GetUserTime | This method will return the amount of time this thread has executed in user mode since it has started, if extended thread information is available, otherwise the values returned will be zero. Call NetDbgObj.ExtendedThreadInfoAvailable to determine if extended thread information is available.
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | StackMatch( String ) | This function returns the number of stacks who match the patterns defined on the array of strings input
Public method | StackMatch(Boolean, String ) | This function returns the number of stacks who match the patterns defined on the array of strings input
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Properties
 | Name | Description
Public property | COMApartmentType | Returns the COM apartment threading type
Public property | COMDestinationProcessID | This property returns the debugger process ID for target process (COM Call).
Public property | COMDestinationThreadID | This property returns the debugger thread ID for the thread in target process (COM Call).
Public property | CreateTime | This property returns the date and time that the thread was created.
Public property | Debugger | Get an instance of the NetDbgObj being used to analyze the dump
Public property | FrameAddress | This property returns the value of the EBP register for this thread context.
Public property | InstructionAddress | This property returns the value of the EIP register for this thread context.
Public property | Item | This Property returns the value of the specified Register name
Public property | ManagedStackFrames | This property returns an instance of a NetDbgStackFrames object, which represents the managed stack frames on this thread.
Public property | ManagedThread | This method returns a ClrThread representing the managed (.Net) thread.
Public property | NativeStackFrames | This property returns an instance of a NetDbgStackFrames object, which represents the native (unmanaged) stack frames on this thread.
Public property | RpcDestinationBindings | This property returns the RPC destination bindings if an RPC communication is detected on the thread
Public property | RpcSourceBindings | This property returns the RPC source bindings if an RPC communication is detected on the thread
Public property | SocketDestinationAddress | This property that returns the Destination Address used on this thread if a winsock communication is occurring on the thread
Public property | SocketSourceAddress | This property that returns the Source socket used on this thread if a winsock communication is occurring on the thread
Public property | StackAddress | This property returns the value of the ESP register for this thread context.
Public property | StackFrames | This method returns a NetDbgStackFrames object that represents the native and managed stacks combined.
Public property | StartAddress | This property returns the address of the thread procedure for this thread, if extended thread information is available, otherwise it will return NULL. Call NetDbgObj.ExtendedThreadInfoAvailable to determine if extended thread information is available.
Public property | SystemID | This property returns the system thread ID for this thread.
Public property | ThreadID | This property returns the debugger thread ID for this thread.
Public property | WaitingOnCritSecAddr | This property returns the address of a critical section structure if this thread is currently waiting on a critical section, otherwise it returns zero.
Back to Top
See Also
NetDbgThread Class


NetDbgThread Methods

NetDbgThread Methods Debug Diagnostics Tool 2.1 DebugDiag
The NetDbgThread type exposes the following members.
Methods
 | Name | Description
Public method | ChangeThreadContext | This method changes the current thread context to the thread context at the address passed into the function.
Public method | EnumerateStackExceptionObjects | This method returns an IEnumerable collection of ClrException objects found on the stack
Public method | EnumerateStackObjectRoots | This method returns an IEnumerable collection of ClrRoot objects of all managed (.Net) objects found on the stack
Public method | EnumerateStackObjectRoots(String) | This method returns an IEnumerable collection of ClrRoot objects of the type specified on the parameter.
Public method | EnumerateStackObjectRoots(String, Boolean) | This method returns an IEnumerable collection of ClrRoot objects of the type specified on the parameter.
Public method | EnumerateStackObjects | This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack
Public method | EnumerateStackObjects(Boolean) | This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack
Public method | EnumerateStackObjects(String) | This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack of the type specified
Public method | EnumerateStackObjects(String, Boolean) | This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack of the type specified
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | FindFirstStackObject | This Function returns a ClrObject of the first managed object that is found on the .Net stack.
Public method | FindFirstStackObject(String) | This Function returns a ClrObject of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.
Public method | FindFirstStackObject(String, Boolean) | This Function returns a ClrObject of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.
Public method | FindFirstStackObjectRoot | This Function returns a ClrRoot of the first managed object that is found on the .Net stack.
Public method | FindFirstStackObjectRoot(String) | This Function returns a ClrRoot of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.
Public method | FindFirstStackObjectRoot(String, Boolean) | This Function returns a ClrRoot of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.
Public method | FindFrame(String) | Finds the first frame which matches the searchText provided, using CompleteMatchIgnoreOffsets as the searchOption and ignoring case
Public method | FindFrame(String, Boolean) | Finds the first frame which matches the searchText provided, using CompleteMatchIgnoreOffsets as the searchOption and honoring/ignoring case depending on ignoreCase
Public method | FindFrame(String, Boolean, FrameSearchOptions) | Finds the first frame which matches the searchText provided, using the specified searchOption and honoring/ignoring case depending on ignoreCase
Public method | FlushStackFrames | This property can be called to clear the currently loaded stack frames for the active thread from the memory.
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | GetKernelTime | This method will return the amount of time this thread has executed in kernel mode since it has started, if extended thread information is available, otherwise the values returned will be zero. Call NetDbgObj.ExtendedThreadInfoAvailable to determine if extended thread information is available.
Public method | GetRegister | This property returns the value of a specific register for this thread context.
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Public method | GetUserTime | This method will return the amount of time this thread has executed in user mode since it has started, if extended thread information is available, otherwise the values returned will be zero. Call NetDbgObj.ExtendedThreadInfoAvailable to determine if extended thread information is available.
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | StackMatch( String ) | This function returns the number of stacks who match the patterns defined on the array of strings input
Public method | StackMatch(Boolean, String ) | This function returns the number of stacks who match the patterns defined on the array of strings input
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
NetDbgThread Class


ChangeThreadContext Method

NetDbgThread ChangeThreadContext Method Debug Diagnostics Tool 2.1 DebugDiag
This method changes the current thread context to the thread context at the address passed into the function.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool ChangeThreadContext(
    double ContextAddress
)
public bool ChangeThreadContext(
    double ContextAddress
)
Public Function ChangeThreadContext ( _
    ContextAddress As Double _
) As Boolean
Public Function ChangeThreadContext ( _
    ContextAddress As Double _
) As Boolean
public:
bool ChangeThreadContext(
    double ContextAddress
)
public:
bool ChangeThreadContext(
    double ContextAddress
)
Parameters
ContextAddress
Type:   Online System Double
The method will return True if this succeeds, or False if it does not.
Return Value
See Also
NetDbgThread Class
NetDbgThread Members


EnumerateStackExceptionObjects Method

NetDbgThread EnumerateStackExceptionObjects Method Debug Diagnostics Tool 2.1 DebugDiag
This method returns an IEnumerable collection of ClrException objects found on the stack

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnumerable<ClrException> EnumerateStackExceptionObjects()
public IEnumerable<ClrException> EnumerateStackExceptionObjects()
Public Function EnumerateStackExceptionObjects As IEnumerable(Of ClrException)
Public Function EnumerateStackExceptionObjects As IEnumerable(Of ClrException)
public:
IEnumerable<ClrException^>^ EnumerateStackExceptionObjects()
public:
IEnumerable<ClrException^>^ EnumerateStackExceptionObjects()
Return Value
See Also
NetDbgThread Class
NetDbgThread Members


EnumerateStackObjectRoots Method

NetDbgThread EnumerateStackObjectRoots Method Debug Diagnostics Tool 2.1 DebugDiag
This method has two overloaded methods
Overload List
 | Name | Description
Public method | EnumerateStackObjectRoots | This method returns an IEnumerable collection of ClrRoot objects of all managed (.Net) objects found on the stack
Public method | EnumerateStackObjectRoots(String) | This method returns an IEnumerable collection of ClrRoot objects of the type specified on the parameter.
Public method | EnumerateStackObjectRoots(String, Boolean) | This method returns an IEnumerable collection of ClrRoot objects of the type specified on the parameter.
Back to Top
See Also
NetDbgThread Class
NetDbgThread Members


EnumerateStackObjectRoots Method

NetDbgThread EnumerateStackObjectRoots Method Debug Diagnostics Tool 2.1 DebugDiag
This method returns an IEnumerable collection of ClrRoot objects of all managed (.Net) objects found on the stack

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnumerable<ClrRoot> EnumerateStackObjectRoots()
public IEnumerable<ClrRoot> EnumerateStackObjectRoots()
Public Function EnumerateStackObjectRoots As IEnumerable(Of ClrRoot)
Public Function EnumerateStackObjectRoots As IEnumerable(Of ClrRoot)
public:
IEnumerable<ClrRoot^>^ EnumerateStackObjectRoots()
public:
IEnumerable<ClrRoot^>^ EnumerateStackObjectRoots()
Return Value
Collection of ClrRoot objects found on the stack
See Also
NetDbgThread Class
NetDbgThread Members
EnumerateStackObjectRoots Overload


EnumerateStackObjectRoots Method (String)

NetDbgThread EnumerateStackObjectRoots Method (String) Debug Diagnostics Tool 2.1 DebugDiag
This method returns an IEnumerable collection of ClrRoot objects of the type specified on the parameter.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnumerable<ClrRoot> EnumerateStackObjectRoots(
    string typeName
)
public IEnumerable<ClrRoot> EnumerateStackObjectRoots(
    string typeName
)
Public Function EnumerateStackObjectRoots ( _
    typeName As String _
) As IEnumerable(Of ClrRoot)
Public Function EnumerateStackObjectRoots ( _
    typeName As String _
) As IEnumerable(Of ClrRoot)
public:
IEnumerable<ClrRoot^>^ EnumerateStackObjectRoots(
    String^ typeName
)
public:
IEnumerable<ClrRoot^>^ EnumerateStackObjectRoots(
    String^ typeName
)
Parameters
typeName
Type:   Online System String
Managed Type name
Return Value
Collection of ClrRoot objects found on the stack
See Also
NetDbgThread Class
NetDbgThread Members
EnumerateStackObjectRoots Overload


EnumerateStackObjectRoots Method (String, Boolean)

NetDbgThread EnumerateStackObjectRoots Method (String, Boolean) Debug Diagnostics Tool 2.1 DebugDiag
This method returns an IEnumerable collection of ClrRoot objects of the type specified on the parameter.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnumerable<ClrRoot> EnumerateStackObjectRoots(
    string typeName,
    bool beginSearchAtStackPointer
)
public IEnumerable<ClrRoot> EnumerateStackObjectRoots(
    string typeName,
    bool beginSearchAtStackPointer
)
Public Function EnumerateStackObjectRoots ( _
    typeName As String, _
    beginSearchAtStackPointer As Boolean _
) As IEnumerable(Of ClrRoot)
Public Function EnumerateStackObjectRoots ( _
    typeName As String, _
    beginSearchAtStackPointer As Boolean _
) As IEnumerable(Of ClrRoot)
public:
IEnumerable<ClrRoot^>^ EnumerateStackObjectRoots(
    String^ typeName,
    bool beginSearchAtStackPointer
)
public:
IEnumerable<ClrRoot^>^ EnumerateStackObjectRoots(
    String^ typeName,
    bool beginSearchAtStackPointer
)
Parameters
typeName
Type:   Online System String
Managed Type name
beginSearchAtStackPointer
Type:   Online System Boolean
Booloean value to indicate where to start looking for the objects.
Return Value
Collection of ClrRoot objects found on the stack
See Also
NetDbgThread Class
NetDbgThread Members
EnumerateStackObjectRoots Overload


EnumerateStackObjects Method

NetDbgThread EnumerateStackObjects Method Debug Diagnostics Tool 2.1 DebugDiag
This method has three overloaded methods
Overload List
 | Name | Description
Public method | EnumerateStackObjects | This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack
Public method | EnumerateStackObjects(Boolean) | This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack
Public method | EnumerateStackObjects(String) | This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack of the type specified
Public method | EnumerateStackObjects(String, Boolean) | This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack of the type specified
Back to Top
See Also
NetDbgThread Class
NetDbgThread Members


EnumerateStackObjects Method

NetDbgThread EnumerateStackObjects Method Debug Diagnostics Tool 2.1 DebugDiag
This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnumerable<ClrObject> EnumerateStackObjects()
public IEnumerable<ClrObject> EnumerateStackObjects()
Public Function EnumerateStackObjects As IEnumerable(Of ClrObject)
Public Function EnumerateStackObjects As IEnumerable(Of ClrObject)
public:
IEnumerable<ClrObject^>^ EnumerateStackObjects()
public:
IEnumerable<ClrObject^>^ EnumerateStackObjects()
Return Value
Collection of ClrObject representing the objects found on the stack
See Also
NetDbgThread Class
NetDbgThread Members
EnumerateStackObjects Overload


EnumerateStackObjects Method (Boolean)

NetDbgThread EnumerateStackObjects Method (Boolean) Debug Diagnostics Tool 2.1 DebugDiag
This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnumerable<ClrObject> EnumerateStackObjects(
    bool stopSearchAtStackPointer = true
)
public IEnumerable<ClrObject> EnumerateStackObjects(
    bool stopSearchAtStackPointer = true
)
Public Function EnumerateStackObjects ( _
    Optional stopSearchAtStackPointer As Boolean = True _
) As IEnumerable(Of ClrObject)
Public Function EnumerateStackObjects ( _
    Optional stopSearchAtStackPointer As Boolean = True _
) As IEnumerable(Of ClrObject)
public:
IEnumerable<ClrObject^>^ EnumerateStackObjects(
    bool stopSearchAtStackPointer = true
)
public:
IEnumerable<ClrObject^>^ EnumerateStackObjects(
    bool stopSearchAtStackPointer = true
)
Parameters
stopSearchAtStackPointer (Optional)
Type:   Online System Boolean
Optional value to indicate if the search should stop at the stack pointer, the default vlue is true.
Return Value
Collection of ClrObjects representing the objects found on the stack
See Also
NetDbgThread Class
NetDbgThread Members
EnumerateStackObjects Overload


EnumerateStackObjects Method (String)

NetDbgThread EnumerateStackObjects Method (String) Debug Diagnostics Tool 2.1 DebugDiag
This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack of the type specified

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnumerable<ClrObject> EnumerateStackObjects(
    string typeName
)
public IEnumerable<ClrObject> EnumerateStackObjects(
    string typeName
)
Public Function EnumerateStackObjects ( _
    typeName As String _
) As IEnumerable(Of ClrObject)
Public Function EnumerateStackObjects ( _
    typeName As String _
) As IEnumerable(Of ClrObject)
public:
IEnumerable<ClrObject^>^ EnumerateStackObjects(
    String^ typeName
)
public:
IEnumerable<ClrObject^>^ EnumerateStackObjects(
    String^ typeName
)
Parameters
typeName
Type:   Online System String
Managed type name
Return Value
Collection of ClrObject representing the objects found on the stack
See Also
NetDbgThread Class
NetDbgThread Members
EnumerateStackObjects Overload


EnumerateStackObjects Method (String, Boolean)

NetDbgThread EnumerateStackObjects Method (String, Boolean) Debug Diagnostics Tool 2.1 DebugDiag
This method returns an IEnumerable collection of ClrObject or managed (.Net) objects found on the stack of the type specified

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnumerable<ClrObject> EnumerateStackObjects(
    string typeName,
    bool beginSearchAtStackPointer
)
public IEnumerable<ClrObject> EnumerateStackObjects(
    string typeName,
    bool beginSearchAtStackPointer
)
Public Function EnumerateStackObjects ( _
    typeName As String, _
    beginSearchAtStackPointer As Boolean _
) As IEnumerable(Of ClrObject)
Public Function EnumerateStackObjects ( _
    typeName As String, _
    beginSearchAtStackPointer As Boolean _
) As IEnumerable(Of ClrObject)
public:
IEnumerable<ClrObject^>^ EnumerateStackObjects(
    String^ typeName,
    bool beginSearchAtStackPointer
)
public:
IEnumerable<ClrObject^>^ EnumerateStackObjects(
    String^ typeName,
    bool beginSearchAtStackPointer
)
Parameters
typeName
Type:   Online System String
Managed type name
beginSearchAtStackPointer
Type:   Online System Boolean
Booloean value to point where to start looking for the objects.
Return Value
Collection of ClrObject representing the objects found on the stack
See Also
NetDbgThread Class
NetDbgThread Members
EnumerateStackObjects Overload


FindFirstStackObject Method

NetDbgThread FindFirstStackObject Method Debug Diagnostics Tool 2.1 DebugDiag
This method has two overloads.
Overload List
 | Name | Description
Public method | FindFirstStackObject | This Function returns a ClrObject of the first managed object that is found on the .Net stack.
Public method | FindFirstStackObject(String) | This Function returns a ClrObject of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.
Public method | FindFirstStackObject(String, Boolean) | This Function returns a ClrObject of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.
Back to Top
See Also
NetDbgThread Class
NetDbgThread Members


FindFirstStackObject Method

NetDbgThread FindFirstStackObject Method Debug Diagnostics Tool 2.1 DebugDiag
This Function returns a ClrObject of the first managed object that is found on the .Net stack.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ClrObject FindFirstStackObject()
public ClrObject FindFirstStackObject()
Public Function FindFirstStackObject As ClrObject
Public Function FindFirstStackObject As ClrObject
public:
ClrObject^ FindFirstStackObject()
public:
ClrObject^ FindFirstStackObject()
Return Value
returns a ClrObject of the first object found on the stack.
See Also
NetDbgThread Class
NetDbgThread Members
FindFirstStackObject Overload


FindFirstStackObject Method (String)

NetDbgThread FindFirstStackObject Method (String) Debug Diagnostics Tool 2.1 DebugDiag
This Function returns a ClrObject of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ClrObject FindFirstStackObject(
    string typeName
)
public ClrObject FindFirstStackObject(
    string typeName
)
Public Function FindFirstStackObject ( _
    typeName As String _
) As ClrObject
Public Function FindFirstStackObject ( _
    typeName As String _
) As ClrObject
public:
ClrObject^ FindFirstStackObject(
    String^ typeName
)
public:
ClrObject^ FindFirstStackObject(
    String^ typeName
)
Parameters
typeName
Type:   Online System String
Type name to filter objects matching only the specified type.
Return Value
ClrObject of the first managed object that matches the type on the managed stack.
See Also
NetDbgThread Class
NetDbgThread Members
FindFirstStackObject Overload


FindFirstStackObject Method (String, Boolean)

NetDbgThread FindFirstStackObject Method (String, Boolean) Debug Diagnostics Tool 2.1 DebugDiag
This Function returns a ClrObject of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ClrObject FindFirstStackObject(
    string typeName,
    bool beginSearchAtStackPointer
)
public ClrObject FindFirstStackObject(
    string typeName,
    bool beginSearchAtStackPointer
)
Public Function FindFirstStackObject ( _
    typeName As String, _
    beginSearchAtStackPointer As Boolean _
) As ClrObject
Public Function FindFirstStackObject ( _
    typeName As String, _
    beginSearchAtStackPointer As Boolean _
) As ClrObject
public:
ClrObject^ FindFirstStackObject(
    String^ typeName,
    bool beginSearchAtStackPointer
)
public:
ClrObject^ FindFirstStackObject(
    String^ typeName,
    bool beginSearchAtStackPointer
)
Parameters
typeName
Type:   Online System String
Type name to filter objects matching only the specified type.
beginSearchAtStackPointer
Type:   Online System Boolean
Indicates if the search must begin on the stack pointer if set to true.
Return Value
ClrObject of the first managed object that matches the type on the managed stack.
See Also
NetDbgThread Class
NetDbgThread Members
FindFirstStackObject Overload


FindFirstStackObjectRoot Method

NetDbgThread FindFirstStackObjectRoot Method Debug Diagnostics Tool 2.1 DebugDiag
This methos has two overloads
Overload List
 | Name | Description
Public method | FindFirstStackObjectRoot | This Function returns a ClrRoot of the first managed object that is found on the .Net stack.
Public method | FindFirstStackObjectRoot(String) | This Function returns a ClrRoot of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.
Public method | FindFirstStackObjectRoot(String, Boolean) | This Function returns a ClrRoot of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.
Back to Top
See Also
NetDbgThread Class
NetDbgThread Members


FindFirstStackObjectRoot Method

NetDbgThread FindFirstStackObjectRoot Method Debug Diagnostics Tool 2.1 DebugDiag
This Function returns a ClrRoot of the first managed object that is found on the .Net stack.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ClrRoot FindFirstStackObjectRoot()
public ClrRoot FindFirstStackObjectRoot()
Public Function FindFirstStackObjectRoot As ClrRoot
Public Function FindFirstStackObjectRoot As ClrRoot
public:
ClrRoot^ FindFirstStackObjectRoot()
public:
ClrRoot^ FindFirstStackObjectRoot()
Return Value
First ClrRoot Object found on the stack
See Also
NetDbgThread Class
NetDbgThread Members
FindFirstStackObjectRoot Overload


FindFirstStackObjectRoot Method (String)

NetDbgThread FindFirstStackObjectRoot Method (String) Debug Diagnostics Tool 2.1 DebugDiag
This Function returns a ClrRoot of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ClrRoot FindFirstStackObjectRoot(
    string typeName
)
public ClrRoot FindFirstStackObjectRoot(
    string typeName
)
Public Function FindFirstStackObjectRoot ( _
    typeName As String _
) As ClrRoot
Public Function FindFirstStackObjectRoot ( _
    typeName As String _
) As ClrRoot
public:
ClrRoot^ FindFirstStackObjectRoot(
    String^ typeName
)
public:
ClrRoot^ FindFirstStackObjectRoot(
    String^ typeName
)
Parameters
typeName
Type:   Online System String
Type name for filtering objects matching only the specified type.
Return Value
First ClrRoot Object found on the stack
See Also
NetDbgThread Class
NetDbgThread Members
FindFirstStackObjectRoot Overload


FindFirstStackObjectRoot Method (String, Boolean)

NetDbgThread FindFirstStackObjectRoot Method (String, Boolean) Debug Diagnostics Tool 2.1 DebugDiag
This Function returns a ClrRoot of the first managed object that is found on the .Net stack that matches with the type specified on the parameter.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ClrRoot FindFirstStackObjectRoot(
    string typeName,
    bool beginSearchAtStackPointer
)
public ClrRoot FindFirstStackObjectRoot(
    string typeName,
    bool beginSearchAtStackPointer
)
Public Function FindFirstStackObjectRoot ( _
    typeName As String, _
    beginSearchAtStackPointer As Boolean _
) As ClrRoot
Public Function FindFirstStackObjectRoot ( _
    typeName As String, _
    beginSearchAtStackPointer As Boolean _
) As ClrRoot
public:
ClrRoot^ FindFirstStackObjectRoot(
    String^ typeName,
    bool beginSearchAtStackPointer
)
public:
ClrRoot^ FindFirstStackObjectRoot(
    String^ typeName,
    bool beginSearchAtStackPointer
)
Parameters
typeName
Type:   Online System String
Type name to filter objects matching only the specified type.
beginSearchAtStackPointer
Type:   Online System Boolean
Indicates if the search must begin on the stack pointer if set to true.
Return Value
First ClrRoot Object found on the stack
See Also
NetDbgThread Class
NetDbgThread Members
FindFirstStackObjectRoot Overload


FindFrame Method

NetDbgThread FindFrame Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | FindFrame(String) | Finds the first frame which matches the searchText provided, using CompleteMatchIgnoreOffsets as the searchOption and ignoring case
Public method | FindFrame(String, Boolean) | Finds the first frame which matches the searchText provided, using CompleteMatchIgnoreOffsets as the searchOption and honoring/ignoring case depending on ignoreCase
Public method | FindFrame(String, Boolean, FrameSearchOptions) | Finds the first frame which matches the searchText provided, using the specified searchOption and honoring/ignoring case depending on ignoreCase
Back to Top
See Also
NetDbgThread Class
NetDbgThread Members


FindFrame Method (String)

NetDbgThread FindFrame Method (String) Debug Diagnostics Tool 2.1 DebugDiag
Finds the first frame which matches the searchText provided, using CompleteMatchIgnoreOffsets as the searchOption and ignoring case

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int FindFrame(
    string searchText
)
public int FindFrame(
    string searchText
)
Public Function FindFrame ( _
    searchText As String _
) As Integer
Public Function FindFrame ( _
    searchText As String _
) As Integer
public:
int FindFrame(
    String^ searchText
)
public:
int FindFrame(
    String^ searchText
)
Parameters
searchText
Type:   Online System String
The frame text to search for
Return Value
The 0-based frame number of the first matching frame
See Also
NetDbgThread Class
NetDbgThread Members
FindFrame Overload


FindFrame Method (String, Boolean)

NetDbgThread FindFrame Method (String, Boolean) Debug Diagnostics Tool 2.1 DebugDiag
Finds the first frame which matches the searchText provided, using CompleteMatchIgnoreOffsets as the searchOption and honoring/ignoring case depending on ignoreCase

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int FindFrame(
    string searchText,
    bool ignoreCase
)
public int FindFrame(
    string searchText,
    bool ignoreCase
)
Public Function FindFrame ( _
    searchText As String, _
    ignoreCase As Boolean _
) As Integer
Public Function FindFrame ( _
    searchText As String, _
    ignoreCase As Boolean _
) As Integer
public:
int FindFrame(
    String^ searchText,
    bool ignoreCase
)
public:
int FindFrame(
    String^ searchText,
    bool ignoreCase
)
Parameters
searchText
Type:   Online System String
The frame text to search for
ignoreCase
Type:   Online System Boolean
True to ignore case.  Otherwise case will be considered.
Return Value
The 0-based frame number of the first matching frame
See Also
NetDbgThread Class
NetDbgThread Members
FindFrame Overload


FindFrame Method (String, Boolean, FrameSearchOptions)

NetDbgThread FindFrame Method (String, Boolean, FrameSearchOptions) Debug Diagnostics Tool 2.1 DebugDiag
Finds the first frame which matches the searchText provided, using the specified searchOption and honoring/ignoring case depending on ignoreCase

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int FindFrame(
    string searchText,
    bool ignoreCase,
    FrameSearchOptions searchOption
)
public int FindFrame(
    string searchText,
    bool ignoreCase,
    FrameSearchOptions searchOption
)
Public Function FindFrame ( _
    searchText As String, _
    ignoreCase As Boolean, _
    searchOption As FrameSearchOptions _
) As Integer
Public Function FindFrame ( _
    searchText As String, _
    ignoreCase As Boolean, _
    searchOption As FrameSearchOptions _
) As Integer
public:
int FindFrame(
    String^ searchText,
    bool ignoreCase,
    FrameSearchOptions searchOption
)
public:
int FindFrame(
    String^ searchText,
    bool ignoreCase,
    FrameSearchOptions searchOption
)
Parameters
searchText
Type:   Online System String
The frame text to search for
ignoreCase
Type:   Online System Boolean
True to ignore case.  Otherwise case will be considered.
searchOption
Type: DebugDiag.DotNet FrameSearchOptions
A FrameSearchOptions value which specifies what portion of the stack frame must match the searchText
Return Value
The 0-based frame number of the first matching frame
See Also
NetDbgThread Class
NetDbgThread Members
FindFrame Overload


FlushStackFrames Method

NetDbgThread FlushStackFrames Method Debug Diagnostics Tool 2.1 DebugDiag
This property can be called to clear the currently loaded stack frames for the active thread from the memory.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void FlushStackFrames()
public void FlushStackFrames()
Public Sub FlushStackFrames
Public Sub FlushStackFrames
public:
void FlushStackFrames()
public:
void FlushStackFrames()
See Also
NetDbgThread Class
NetDbgThread Members


GetKernelTime Method

NetDbgThread GetKernelTime Method Debug Diagnostics Tool 2.1 DebugDiag
This method will return the amount of time this thread has executed in kernel mode since it has started, if extended thread information is available, otherwise the values returned will be zero. Call NetDbgObj.ExtendedThreadInfoAvailable to determine if extended thread information is available.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void GetKernelTime(
    out Object pvtDays,
    out Object pvtHours,
    out Object pvtMinutes,
    out Object pvtSeconds,
    out Object pvtMilliSeconds
)
public void GetKernelTime(
    out Object pvtDays,
    out Object pvtHours,
    out Object pvtMinutes,
    out Object pvtSeconds,
    out Object pvtMilliSeconds
)
Public Sub GetKernelTime ( _
    <OutAttribute> ByRef pvtDays As Object, _
    <OutAttribute> ByRef pvtHours As Object, _
    <OutAttribute> ByRef pvtMinutes As Object, _
    <OutAttribute> ByRef pvtSeconds As Object, _
    <OutAttribute> ByRef pvtMilliSeconds As Object _
)
Public Sub GetKernelTime ( _
    <OutAttribute> ByRef pvtDays As Object, _
    <OutAttribute> ByRef pvtHours As Object, _
    <OutAttribute> ByRef pvtMinutes As Object, _
    <OutAttribute> ByRef pvtSeconds As Object, _
    <OutAttribute> ByRef pvtMilliSeconds As Object _
)
public:
void GetKernelTime(
    [OutAttribute] Object^% pvtDays,
    [OutAttribute] Object^% pvtHours,
    [OutAttribute] Object^% pvtMinutes,
    [OutAttribute] Object^% pvtSeconds,
    [OutAttribute] Object^% pvtMilliSeconds
)
public:
void GetKernelTime(
    [OutAttribute] Object^% pvtDays,
    [OutAttribute] Object^% pvtHours,
    [OutAttribute] Object^% pvtMinutes,
    [OutAttribute] Object^% pvtSeconds,
    [OutAttribute] Object^% pvtMilliSeconds
)
Parameters
pvtDays
Type:   Online System Object
Output parameter that contains the number of days spent on user time
pvtHours
Type:   Online System Object
Output parameter that contains the number of hours spent on user time
pvtMinutes
Type:   Online System Object
Output parameter that contains the number of minutes spent on user time
pvtSeconds
Type:   Online System Object
Output parameter that contains the number of seconds spent on user time
pvtMilliSeconds
Type:   Online System Object
Output parameter that contains the number of milliseconds spent on user time
See Also
NetDbgThread Class
NetDbgThread Members


GetRegister Method

NetDbgThread GetRegister Method Debug Diagnostics Tool 2.1 DebugDiag
This property returns the value of a specific register for this thread context.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double GetRegister(
    string registerName
)
public double GetRegister(
    string registerName
)
Public Function GetRegister ( _
    registerName As String _
) As Double
Public Function GetRegister ( _
    registerName As String _
) As Double
public:
double GetRegister(
    String^ registerName
)
public:
double GetRegister(
    String^ registerName
)
Parameters
registerName
Type:   Online System String
Rame of the CPU register
Return Value
Double containing the value found on the resgiter
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
See Also
NetDbgThread Class
NetDbgThread Members


GetUserTime Method

NetDbgThread GetUserTime Method Debug Diagnostics Tool 2.1 DebugDiag
This method will return the amount of time this thread has executed in user mode since it has started, if extended thread information is available, otherwise the values returned will be zero. Call NetDbgObj.ExtendedThreadInfoAvailable to determine if extended thread information is available.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void GetUserTime(
    out Object pvtDays,
    out Object pvtHours,
    out Object pvtMinutes,
    out Object pvtSeconds,
    out Object pvtMilliSeconds
)
public void GetUserTime(
    out Object pvtDays,
    out Object pvtHours,
    out Object pvtMinutes,
    out Object pvtSeconds,
    out Object pvtMilliSeconds
)
Public Sub GetUserTime ( _
    <OutAttribute> ByRef pvtDays As Object, _
    <OutAttribute> ByRef pvtHours As Object, _
    <OutAttribute> ByRef pvtMinutes As Object, _
    <OutAttribute> ByRef pvtSeconds As Object, _
    <OutAttribute> ByRef pvtMilliSeconds As Object _
)
Public Sub GetUserTime ( _
    <OutAttribute> ByRef pvtDays As Object, _
    <OutAttribute> ByRef pvtHours As Object, _
    <OutAttribute> ByRef pvtMinutes As Object, _
    <OutAttribute> ByRef pvtSeconds As Object, _
    <OutAttribute> ByRef pvtMilliSeconds As Object _
)
public:
void GetUserTime(
    [OutAttribute] Object^% pvtDays,
    [OutAttribute] Object^% pvtHours,
    [OutAttribute] Object^% pvtMinutes,
    [OutAttribute] Object^% pvtSeconds,
    [OutAttribute] Object^% pvtMilliSeconds
)
public:
void GetUserTime(
    [OutAttribute] Object^% pvtDays,
    [OutAttribute] Object^% pvtHours,
    [OutAttribute] Object^% pvtMinutes,
    [OutAttribute] Object^% pvtSeconds,
    [OutAttribute] Object^% pvtMilliSeconds
)
Parameters
pvtDays
Type:   Online System Object
Output parameter that contains the number of days spent on user time
pvtHours
Type:   Online System Object
Output parameter that contains the number of hours spent on user time
pvtMinutes
Type:   Online System Object
Output parameter that contains the number of minutes spent on user time
pvtSeconds
Type:   Online System Object
Output parameter that contains the number of seconds spent on user time
pvtMilliSeconds
Type:   Online System Object
Output parameter that contains the number of milliseconds spent on user time
See Also
NetDbgThread Class
NetDbgThread Members


StackMatch Method

NetDbgThread StackMatch Method Debug Diagnostics Tool 2.1 DebugDiag
This method has one overloaded methods
Overload List
 | Name | Description
Public method | StackMatch( String ) | This function returns the number of stacks who match the patterns defined on the array of strings input
Public method | StackMatch(Boolean, String ) | This function returns the number of stacks who match the patterns defined on the array of strings input
Back to Top
See Also
NetDbgThread Class
NetDbgThread Members


StackMatch Method (String[])

NetDbgThread StackMatch Method ( String ) Debug Diagnostics Tool 2.1 DebugDiag
This function returns the number of stacks who match the patterns defined on the array of strings input

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int StackMatch(
    params string[] searchFrames
)
public int StackMatch(
    params string[] searchFrames
)
Public Function StackMatch ( _
    ParamArray searchFrames As String() _
) As Integer
Public Function StackMatch ( _
    ParamArray searchFrames As String() _
) As Integer
public:
int StackMatch(
    ... array<String^>^ searchFrames
)
public:
int StackMatch(
    ... array<String^>^ searchFrames
)
Parameters
searchFrames
Type:    Online System String
Array of string with the frame pattern that you are looking into the stack
Return Value
Number of stacks that match the string frames defined on the parameters
See Also
NetDbgThread Class
NetDbgThread Members
StackMatch Overload


StackMatch Method (Boolean, String[])

NetDbgThread StackMatch Method (Boolean, String ) Debug Diagnostics Tool 2.1 DebugDiag
This function returns the number of stacks who match the patterns defined on the array of strings input

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int StackMatch(
    bool ignoreCase,
    params string[] searchFrames
)
public int StackMatch(
    bool ignoreCase,
    params string[] searchFrames
)
Public Function StackMatch ( _
    ignoreCase As Boolean, _
    ParamArray searchFrames As String() _
) As Integer
Public Function StackMatch ( _
    ignoreCase As Boolean, _
    ParamArray searchFrames As String() _
) As Integer
public:
int StackMatch(
    bool ignoreCase,
    ... array<String^>^ searchFrames
)
public:
int StackMatch(
    bool ignoreCase,
    ... array<String^>^ searchFrames
)
Parameters
ignoreCase
Type:   Online System Boolean
Match string ignoring the case if set to true.
searchFrames
Type:    Online System String
Array of string with the frame pattern that you are looking into the stack
Return Value
Number of stacks that match the string frames defined on the parameters
See Also
NetDbgThread Class
NetDbgThread Members
StackMatch Overload


NetDbgThread Properties

NetDbgThread Properties Debug Diagnostics Tool 2.1 DebugDiag
The NetDbgThread type exposes the following members.
Properties
 | Name | Description
Public property | COMApartmentType | Returns the COM apartment threading type
Public property | COMDestinationProcessID | This property returns the debugger process ID for target process (COM Call).
Public property | COMDestinationThreadID | This property returns the debugger thread ID for the thread in target process (COM Call).
Public property | CreateTime | This property returns the date and time that the thread was created.
Public property | Debugger | Get an instance of the NetDbgObj being used to analyze the dump
Public property | FrameAddress | This property returns the value of the EBP register for this thread context.
Public property | InstructionAddress | This property returns the value of the EIP register for this thread context.
Public property | Item | This Property returns the value of the specified Register name
Public property | ManagedStackFrames | This property returns an instance of a NetDbgStackFrames object, which represents the managed stack frames on this thread.
Public property | ManagedThread | This method returns a ClrThread representing the managed (.Net) thread.
Public property | NativeStackFrames | This property returns an instance of a NetDbgStackFrames object, which represents the native (unmanaged) stack frames on this thread.
Public property | RpcDestinationBindings | This property returns the RPC destination bindings if an RPC communication is detected on the thread
Public property | RpcSourceBindings | This property returns the RPC source bindings if an RPC communication is detected on the thread
Public property | SocketDestinationAddress | This property that returns the Destination Address used on this thread if a winsock communication is occurring on the thread
Public property | SocketSourceAddress | This property that returns the Source socket used on this thread if a winsock communication is occurring on the thread
Public property | StackAddress | This property returns the value of the ESP register for this thread context.
Public property | StackFrames | This method returns a NetDbgStackFrames object that represents the native and managed stacks combined.
Public property | StartAddress | This property returns the address of the thread procedure for this thread, if extended thread information is available, otherwise it will return NULL. Call NetDbgObj.ExtendedThreadInfoAvailable to determine if extended thread information is available.
Public property | SystemID | This property returns the system thread ID for this thread.
Public property | ThreadID | This property returns the debugger thread ID for this thread.
Public property | WaitingOnCritSecAddr | This property returns the address of a critical section structure if this thread is currently waiting on a critical section, otherwise it returns zero.
Back to Top
See Also
NetDbgThread Class


COMApartmentType Property

NetDbgThread COMApartmentType Property Debug Diagnostics Tool 2.1 DebugDiag
Returns the COM apartment threading type

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public COMApartmentType COMApartmentType { get; }
public COMApartmentType COMApartmentType { get; }
Public ReadOnly Property COMApartmentType As COMApartmentType
    Get
Public ReadOnly Property COMApartmentType As COMApartmentType
    Get
public:
property COMApartmentType COMApartmentType {
    COMApartmentType get ();
}
public:
property COMApartmentType COMApartmentType {
    COMApartmentType get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


COMDestinationProcessID Property

NetDbgThread COMDestinationProcessID Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the debugger process ID for target process (COM Call).

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int COMDestinationProcessID { get; }
public int COMDestinationProcessID { get; }
Public ReadOnly Property COMDestinationProcessID As Integer
    Get
Public ReadOnly Property COMDestinationProcessID As Integer
    Get
public:
property int COMDestinationProcessID {
    int get ();
}
public:
property int COMDestinationProcessID {
    int get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


COMDestinationThreadID Property

NetDbgThread COMDestinationThreadID Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the debugger thread ID for the thread in target process (COM Call).

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int COMDestinationThreadID { get; }
public int COMDestinationThreadID { get; }
Public ReadOnly Property COMDestinationThreadID As Integer
    Get
Public ReadOnly Property COMDestinationThreadID As Integer
    Get
public:
property int COMDestinationThreadID {
    int get ();
}
public:
property int COMDestinationThreadID {
    int get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


CreateTime Property

NetDbgThread CreateTime Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the date and time that the thread was created.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public DateTime CreateTime { get; }
public DateTime CreateTime { get; }
Public ReadOnly Property CreateTime As DateTime
    Get
Public ReadOnly Property CreateTime As DateTime
    Get
public:
property DateTime CreateTime {
    DateTime get ();
}
public:
property DateTime CreateTime {
    DateTime get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


Debugger Property

NetDbgThread Debugger Property Debug Diagnostics Tool 2.1 DebugDiag
Get an instance of the NetDbgObj being used to analyze the dump

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetDbgObj Debugger { get; }
public NetDbgObj Debugger { get; }
Public ReadOnly Property Debugger As NetDbgObj
    Get
Public ReadOnly Property Debugger As NetDbgObj
    Get
public:
property NetDbgObj^ Debugger {
    NetDbgObj^ get ();
}
public:
property NetDbgObj^ Debugger {
    NetDbgObj^ get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


FrameAddress Property

NetDbgThread FrameAddress Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the value of the EBP register for this thread context.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double FrameAddress { get; }
public double FrameAddress { get; }
Public ReadOnly Property FrameAddress As Double
    Get
Public ReadOnly Property FrameAddress As Double
    Get
public:
property double FrameAddress {
    double get ();
}
public:
property double FrameAddress {
    double get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


InstructionAddress Property

NetDbgThread InstructionAddress Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the value of the EIP register for this thread context.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double InstructionAddress { get; }
public double InstructionAddress { get; }
Public ReadOnly Property InstructionAddress As Double
    Get
Public ReadOnly Property InstructionAddress As Double
    Get
public:
property double InstructionAddress {
    double get ();
}
public:
property double InstructionAddress {
    double get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


Item Property

NetDbgThread Item Property Debug Diagnostics Tool 2.1 DebugDiag
This Property returns the value of the specified Register name

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double this[
    string RegisterName
] { get; }
public double this[
    string RegisterName
] { get; }
Public ReadOnly Default Property Item ( _
    RegisterName As String _
) As Double
    Get
Public ReadOnly Default Property Item ( _
    RegisterName As String _
) As Double
    Get
public:
property double default[String^ RegisterName] {
    double get (String^ RegisterName);
}
public:
property double default[String^ RegisterName] {
    double get (String^ RegisterName);
}
Parameters
RegisterName
Type:   Online System String
String with the register name to return
Return Value
Double that contains the value found on the given register
See Also
NetDbgThread Class
NetDbgThread Members


ManagedStackFrames Property

NetDbgThread ManagedStackFrames Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an instance of a NetDbgStackFrames object, which represents the managed stack frames on this thread.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetDbgStackFrames ManagedStackFrames { get; }
public NetDbgStackFrames ManagedStackFrames { get; }
Public ReadOnly Property ManagedStackFrames As NetDbgStackFrames
    Get
Public ReadOnly Property ManagedStackFrames As NetDbgStackFrames
    Get
public:
property NetDbgStackFrames^ ManagedStackFrames {
    NetDbgStackFrames^ get ();
}
public:
property NetDbgStackFrames^ ManagedStackFrames {
    NetDbgStackFrames^ get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


ManagedThread Property

NetDbgThread ManagedThread Property Debug Diagnostics Tool 2.1 DebugDiag
This method returns a ClrThread representing the managed (.Net) thread.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ClrThread ManagedThread { get; }
public ClrThread ManagedThread { get; }
Public ReadOnly Property ManagedThread As ClrThread
    Get
Public ReadOnly Property ManagedThread As ClrThread
    Get
public:
property ClrThread^ ManagedThread {
    ClrThread^ get ();
}
public:
property ClrThread^ ManagedThread {
    ClrThread^ get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


NativeStackFrames Property

NetDbgThread NativeStackFrames Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an instance of a NetDbgStackFrames object, which represents the native (unmanaged) stack frames on this thread.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetDbgStackFrames NativeStackFrames { get; }
public NetDbgStackFrames NativeStackFrames { get; }
Public ReadOnly Property NativeStackFrames As NetDbgStackFrames
    Get
Public ReadOnly Property NativeStackFrames As NetDbgStackFrames
    Get
public:
property NetDbgStackFrames^ NativeStackFrames {
    NetDbgStackFrames^ get ();
}
public:
property NetDbgStackFrames^ NativeStackFrames {
    NetDbgStackFrames^ get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


RpcDestinationBindings Property

NetDbgThread RpcDestinationBindings Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the RPC destination bindings if an RPC communication is detected on the thread

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string RpcDestinationBindings { get; }
public string RpcDestinationBindings { get; }
Public ReadOnly Property RpcDestinationBindings As String
    Get
Public ReadOnly Property RpcDestinationBindings As String
    Get
public:
property String^ RpcDestinationBindings {
    String^ get ();
}
public:
property String^ RpcDestinationBindings {
    String^ get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


RpcSourceBindings Property

NetDbgThread RpcSourceBindings Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the RPC source bindings if an RPC communication is detected on the thread

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string RpcSourceBindings { get; }
public string RpcSourceBindings { get; }
Public ReadOnly Property RpcSourceBindings As String
    Get
Public ReadOnly Property RpcSourceBindings As String
    Get
public:
property String^ RpcSourceBindings {
    String^ get ();
}
public:
property String^ RpcSourceBindings {
    String^ get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


SocketDestinationAddress Property

NetDbgThread SocketDestinationAddress Property Debug Diagnostics Tool 2.1 DebugDiag
This property that returns the Destination Address used on this thread if a winsock communication is occurring on the thread

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string SocketDestinationAddress { get; }
public string SocketDestinationAddress { get; }
Public ReadOnly Property SocketDestinationAddress As String
    Get
Public ReadOnly Property SocketDestinationAddress As String
    Get
public:
property String^ SocketDestinationAddress {
    String^ get ();
}
public:
property String^ SocketDestinationAddress {
    String^ get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


SocketSourceAddress Property

NetDbgThread SocketSourceAddress Property Debug Diagnostics Tool 2.1 DebugDiag
This property that returns the Source socket used on this thread if a winsock communication is occurring on the thread

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string SocketSourceAddress { get; }
public string SocketSourceAddress { get; }
Public ReadOnly Property SocketSourceAddress As String
    Get
Public ReadOnly Property SocketSourceAddress As String
    Get
public:
property String^ SocketSourceAddress {
    String^ get ();
}
public:
property String^ SocketSourceAddress {
    String^ get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


StackAddress Property

NetDbgThread StackAddress Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the value of the ESP register for this thread context.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double StackAddress { get; }
public double StackAddress { get; }
Public ReadOnly Property StackAddress As Double
    Get
Public ReadOnly Property StackAddress As Double
    Get
public:
property double StackAddress {
    double get ();
}
public:
property double StackAddress {
    double get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


StackFrames Property

NetDbgThread StackFrames Property Debug Diagnostics Tool 2.1 DebugDiag
This method returns a NetDbgStackFrames object that represents the native and managed stacks combined.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetDbgStackFrames StackFrames { get; }
public NetDbgStackFrames StackFrames { get; }
Public ReadOnly Property StackFrames As NetDbgStackFrames
    Get
Public ReadOnly Property StackFrames As NetDbgStackFrames
    Get
public:
property NetDbgStackFrames^ StackFrames {
    NetDbgStackFrames^ get ();
}
public:
property NetDbgStackFrames^ StackFrames {
    NetDbgStackFrames^ get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


StartAddress Property

NetDbgThread StartAddress Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the address of the thread procedure for this thread, if extended thread information is available, otherwise it will return NULL. Call NetDbgObj.ExtendedThreadInfoAvailable to determine if extended thread information is available.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double StartAddress { get; }
public double StartAddress { get; }
Public ReadOnly Property StartAddress As Double
    Get
Public ReadOnly Property StartAddress As Double
    Get
public:
property double StartAddress {
    double get ();
}
public:
property double StartAddress {
    double get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


SystemID Property

NetDbgThread SystemID Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the system thread ID for this thread.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double SystemID { get; }
public double SystemID { get; }
Public ReadOnly Property SystemID As Double
    Get
Public ReadOnly Property SystemID As Double
    Get
public:
property double SystemID {
    double get ();
}
public:
property double SystemID {
    double get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


ThreadID Property

NetDbgThread ThreadID Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the debugger thread ID for this thread.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int ThreadID { get; }
public int ThreadID { get; }
Public ReadOnly Property ThreadID As Integer
    Get
Public ReadOnly Property ThreadID As Integer
    Get
public:
property int ThreadID {
    int get ();
}
public:
property int ThreadID {
    int get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


WaitingOnCritSecAddr Property

NetDbgThread WaitingOnCritSecAddr Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the address of a critical section structure if this thread is currently waiting on a critical section, otherwise it returns zero.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public double WaitingOnCritSecAddr { get; }
public double WaitingOnCritSecAddr { get; }
Public ReadOnly Property WaitingOnCritSecAddr As Double
    Get
Public ReadOnly Property WaitingOnCritSecAddr As Double
    Get
public:
property double WaitingOnCritSecAddr {
    double get ();
}
public:
property double WaitingOnCritSecAddr {
    double get ();
}
See Also
NetDbgThread Class
NetDbgThread Members


NetProgress Class

NetProgress Class Debug Diagnostics Tool 2.1 DebugDiag
This object represents a progress bar object. An instance of this object is obtained from the Progress property of the NetScriptManager object.
Inheritance Hierarchy
Online System Object
DebugDiag.DotNet NetProgress

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class NetProgress : IProgress
public class NetProgress : IProgress
Public Class NetProgress _
    Implements IProgress
Public Class NetProgress _
    Implements IProgress
public ref class NetProgress : IProgress
public ref class NetProgress : IProgress
Remarks
Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void RunAnalysisRule(NetScriptManager manager, NetDbgObj debugger, NetProgress progress)
{
    progress.CurrentStatus = "Enumerating Modules in dump file";
    IModuleInfo Modules = debugger.Modules;
    progress.SetCurrentRange(0, Modules.Count);

    int count = 0;

    foreach (IDbgModule module in Modules)
    {
        if (module.IsISAPIFilter)
        {
            manager.WriteLine(module.ModuleName + " is an ISAPI filter");
        }
        count++;
        progress.CurrentPosition = count;
    }
}
public void RunAnalysisRule(NetScriptManager manager, NetDbgObj debugger, NetProgress progress)
{
    progress.CurrentStatus = "Enumerating Modules in dump file";
    IModuleInfo Modules = debugger.Modules;
    progress.SetCurrentRange(0, Modules.Count);

    int count = 0;

    foreach (IDbgModule module in Modules)
    {
        if (module.IsISAPIFilter)
        {
            manager.WriteLine(module.ModuleName + " is an ISAPI filter");
        }
        count++;
        progress.CurrentPosition = count;
    }
}
See Also
NetProgress Members


NetProgress Members

NetProgress Members Debug Diagnostics Tool 2.1 DebugDiag

The NetProgress type exposes the following members.
Constructors
 | Name | Description
Public method | NetProgress | Initializes a new instance of the NetProgress class
Back to Top
Methods
 | Name | Description
Public method | End |
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | SetCurrentRange | This method takes two integer arguments and sets the progress range for the current script (child) execution. This event is raised when calling this method.
Public method | SetOverallRange |
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Properties
 | Name | Description
Public property | CurrentPosition |
Public property | CurrentStatus |
Public property | DebuggerStatus |
Public property | OverallPosition |
Public property | OverallStatus |
Back to Top
Events
 | Name | Description
Public event | OnEnd |
Public event | OnSetCurrentPositionChanged |
Public event | OnSetCurrentRangeChanged |
Public event | OnSetCurrentStatusChanged |
Public event | OnSetDebuggerStatusChanged |
Public event | OnSetOverallPositionChanged |
Public event | OnSetOverallRangeChanged |
Public event | OnSetOverallStatusChanged |
Back to Top
See Also
NetProgress Class


NetProgress Constructor

NetProgress Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the NetProgress class

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetProgress()
public NetProgress()
Public Sub New
Public Sub New
public:
NetProgress()
public:
NetProgress()
See Also
NetProgress Class
NetProgress Members


NetProgress Methods

NetProgress Methods Debug Diagnostics Tool 2.1 DebugDiag
The NetProgress type exposes the following members.
Methods
 | Name | Description
Public method | End |
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | SetCurrentRange | This method takes two integer arguments and sets the progress range for the current script (child) execution. This event is raised when calling this method.
Public method | SetOverallRange |
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
NetProgress Class


End Method

NetProgress End Method Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public virtual void End()
public virtual void End()
Public Overridable Sub End
Public Overridable Sub End
public:
virtual void End()
public:
virtual void End()
See Also
NetProgress Class
NetProgress Members


SetCurrentRange Method

NetProgress SetCurrentRange Method Debug Diagnostics Tool 2.1 DebugDiag
This method takes two integer arguments and sets the progress range for the current script (child) execution. This event is raised when calling this method.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public virtual void SetCurrentRange(
    int Low,
    int High
)
public virtual void SetCurrentRange(
    int Low,
    int High
)
Public Overridable Sub SetCurrentRange ( _
    Low As Integer, _
    High As Integer _
)
Public Overridable Sub SetCurrentRange ( _
    Low As Integer, _
    High As Integer _
)
public:
virtual void SetCurrentRange(
    int Low,
    int High
)
public:
virtual void SetCurrentRange(
    int Low,
    int High
)
Parameters
Low
Type:   Online System Int32
High
Type:   Online System Int32
See Also
NetProgress Class
NetProgress Members


SetOverallRange Method

NetProgress SetOverallRange Method Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public virtual void SetOverallRange(
    int Low,
    int High
)
public virtual void SetOverallRange(
    int Low,
    int High
)
Public Overridable Sub SetOverallRange ( _
    Low As Integer, _
    High As Integer _
)
Public Overridable Sub SetOverallRange ( _
    Low As Integer, _
    High As Integer _
)
public:
virtual void SetOverallRange(
    int Low,
    int High
)
public:
virtual void SetOverallRange(
    int Low,
    int High
)
Parameters
Low
Type:   Online System Int32
High
Type:   Online System Int32
See Also
NetProgress Class
NetProgress Members


NetProgress Properties

NetProgress Properties Debug Diagnostics Tool 2.1 DebugDiag
The NetProgress type exposes the following members.
Properties
 | Name | Description
Public property | CurrentPosition |
Public property | CurrentStatus |
Public property | DebuggerStatus |
Public property | OverallPosition |
Public property | OverallStatus |
Back to Top
See Also
NetProgress Class


CurrentPosition Property

NetProgress CurrentPosition Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public virtual int CurrentPosition { set; }
public virtual int CurrentPosition { set; }
Public Overridable WriteOnly Property CurrentPosition As Integer
    Set
Public Overridable WriteOnly Property CurrentPosition As Integer
    Set
public:
virtual property int CurrentPosition {
    void set (int value);
}
public:
virtual property int CurrentPosition {
    void set (int value);
}
See Also
NetProgress Class
NetProgress Members


CurrentStatus Property

NetProgress CurrentStatus Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public virtual string CurrentStatus { set; }
public virtual string CurrentStatus { set; }
Public Overridable WriteOnly Property CurrentStatus As String
    Set
Public Overridable WriteOnly Property CurrentStatus As String
    Set
public:
virtual property String^ CurrentStatus {
    void set (String^ value);
}
public:
virtual property String^ CurrentStatus {
    void set (String^ value);
}
See Also
NetProgress Class
NetProgress Members


DebuggerStatus Property

NetProgress DebuggerStatus Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public virtual string DebuggerStatus { set; }
public virtual string DebuggerStatus { set; }
Public Overridable WriteOnly Property DebuggerStatus As String
    Set
Public Overridable WriteOnly Property DebuggerStatus As String
    Set
public:
virtual property String^ DebuggerStatus {
    void set (String^ value);
}
public:
virtual property String^ DebuggerStatus {
    void set (String^ value);
}
See Also
NetProgress Class
NetProgress Members


OverallPosition Property

NetProgress OverallPosition Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public virtual int OverallPosition { set; }
public virtual int OverallPosition { set; }
Public Overridable WriteOnly Property OverallPosition As Integer
    Set
Public Overridable WriteOnly Property OverallPosition As Integer
    Set
public:
virtual property int OverallPosition {
    void set (int value);
}
public:
virtual property int OverallPosition {
    void set (int value);
}
See Also
NetProgress Class
NetProgress Members


OverallStatus Property

NetProgress OverallStatus Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public virtual string OverallStatus { set; }
public virtual string OverallStatus { set; }
Public Overridable WriteOnly Property OverallStatus As String
    Set
Public Overridable WriteOnly Property OverallStatus As String
    Set
public:
virtual property String^ OverallStatus {
    void set (String^ value);
}
public:
virtual property String^ OverallStatus {
    void set (String^ value);
}
See Also
NetProgress Class
NetProgress Members


NetProgress Events

NetProgress Events Debug Diagnostics Tool 2.1 DebugDiag
The NetProgress type exposes the following members.
Events
 | Name | Description
Public event | OnEnd |
Public event | OnSetCurrentPositionChanged |
Public event | OnSetCurrentRangeChanged |
Public event | OnSetCurrentStatusChanged |
Public event | OnSetDebuggerStatusChanged |
Public event | OnSetOverallPositionChanged |
Public event | OnSetOverallRangeChanged |
Public event | OnSetOverallStatusChanged |
Back to Top
See Also
NetProgress Class


OnEnd Event

NetProgress OnEnd Event Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public event EventHandler OnEnd
public event EventHandler OnEnd
Public Event OnEnd As EventHandler
Public Event OnEnd As EventHandler
public:
 event EventHandler^ OnEnd {
    void add (EventHandler^ value);
    void remove (EventHandler^ value);
}
public:
 event EventHandler^ OnEnd {
    void add (EventHandler^ value);
    void remove (EventHandler^ value);
}
See Also
NetProgress Class
NetProgress Members


OnSetCurrentPositionChanged Event

NetProgress OnSetCurrentPositionChanged Event Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public event EventHandler<SetCurrentPositionEventArgs> OnSetCurrentPositionChanged
public event EventHandler<SetCurrentPositionEventArgs> OnSetCurrentPositionChanged
Public Event OnSetCurrentPositionChanged As EventHandler(Of SetCurrentPositionEventArgs)
Public Event OnSetCurrentPositionChanged As EventHandler(Of SetCurrentPositionEventArgs)
public:
 event EventHandler<SetCurrentPositionEventArgs^>^ OnSetCurrentPositionChanged {
    void add (EventHandler<SetCurrentPositionEventArgs^>^ value);
    void remove (EventHandler<SetCurrentPositionEventArgs^>^ value);
}
public:
 event EventHandler<SetCurrentPositionEventArgs^>^ OnSetCurrentPositionChanged {
    void add (EventHandler<SetCurrentPositionEventArgs^>^ value);
    void remove (EventHandler<SetCurrentPositionEventArgs^>^ value);
}
See Also
NetProgress Class
NetProgress Members


OnSetCurrentRangeChanged Event

NetProgress OnSetCurrentRangeChanged Event Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public event EventHandler<SetCurrentRangeEventArgs> OnSetCurrentRangeChanged
public event EventHandler<SetCurrentRangeEventArgs> OnSetCurrentRangeChanged
Public Event OnSetCurrentRangeChanged As EventHandler(Of SetCurrentRangeEventArgs)
Public Event OnSetCurrentRangeChanged As EventHandler(Of SetCurrentRangeEventArgs)
public:
 event EventHandler<SetCurrentRangeEventArgs^>^ OnSetCurrentRangeChanged {
    void add (EventHandler<SetCurrentRangeEventArgs^>^ value);
    void remove (EventHandler<SetCurrentRangeEventArgs^>^ value);
}
public:
 event EventHandler<SetCurrentRangeEventArgs^>^ OnSetCurrentRangeChanged {
    void add (EventHandler<SetCurrentRangeEventArgs^>^ value);
    void remove (EventHandler<SetCurrentRangeEventArgs^>^ value);
}
See Also
NetProgress Class
NetProgress Members


OnSetCurrentStatusChanged Event

NetProgress OnSetCurrentStatusChanged Event Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public event EventHandler<SetCurrentStatusEventArgs> OnSetCurrentStatusChanged
public event EventHandler<SetCurrentStatusEventArgs> OnSetCurrentStatusChanged
Public Event OnSetCurrentStatusChanged As EventHandler(Of SetCurrentStatusEventArgs)
Public Event OnSetCurrentStatusChanged As EventHandler(Of SetCurrentStatusEventArgs)
public:
 event EventHandler<SetCurrentStatusEventArgs^>^ OnSetCurrentStatusChanged {
    void add (EventHandler<SetCurrentStatusEventArgs^>^ value);
    void remove (EventHandler<SetCurrentStatusEventArgs^>^ value);
}
public:
 event EventHandler<SetCurrentStatusEventArgs^>^ OnSetCurrentStatusChanged {
    void add (EventHandler<SetCurrentStatusEventArgs^>^ value);
    void remove (EventHandler<SetCurrentStatusEventArgs^>^ value);
}
See Also
NetProgress Class
NetProgress Members


OnSetDebuggerStatusChanged Event

NetProgress OnSetDebuggerStatusChanged Event Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public event EventHandler<SetDebuggerStatusEventArgs> OnSetDebuggerStatusChanged
public event EventHandler<SetDebuggerStatusEventArgs> OnSetDebuggerStatusChanged
Public Event OnSetDebuggerStatusChanged As EventHandler(Of SetDebuggerStatusEventArgs)
Public Event OnSetDebuggerStatusChanged As EventHandler(Of SetDebuggerStatusEventArgs)
public:
 event EventHandler<SetDebuggerStatusEventArgs^>^ OnSetDebuggerStatusChanged {
    void add (EventHandler<SetDebuggerStatusEventArgs^>^ value);
    void remove (EventHandler<SetDebuggerStatusEventArgs^>^ value);
}
public:
 event EventHandler<SetDebuggerStatusEventArgs^>^ OnSetDebuggerStatusChanged {
    void add (EventHandler<SetDebuggerStatusEventArgs^>^ value);
    void remove (EventHandler<SetDebuggerStatusEventArgs^>^ value);
}
See Also
NetProgress Class
NetProgress Members


OnSetOverallPositionChanged Event

NetProgress OnSetOverallPositionChanged Event Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public event EventHandler<SetOverallPositionEventArgs> OnSetOverallPositionChanged
public event EventHandler<SetOverallPositionEventArgs> OnSetOverallPositionChanged
Public Event OnSetOverallPositionChanged As EventHandler(Of SetOverallPositionEventArgs)
Public Event OnSetOverallPositionChanged As EventHandler(Of SetOverallPositionEventArgs)
public:
 event EventHandler<SetOverallPositionEventArgs^>^ OnSetOverallPositionChanged {
    void add (EventHandler<SetOverallPositionEventArgs^>^ value);
    void remove (EventHandler<SetOverallPositionEventArgs^>^ value);
}
public:
 event EventHandler<SetOverallPositionEventArgs^>^ OnSetOverallPositionChanged {
    void add (EventHandler<SetOverallPositionEventArgs^>^ value);
    void remove (EventHandler<SetOverallPositionEventArgs^>^ value);
}
See Also
NetProgress Class
NetProgress Members


OnSetOverallRangeChanged Event

NetProgress OnSetOverallRangeChanged Event Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public event EventHandler<SetOverallRangeEventArgs> OnSetOverallRangeChanged
public event EventHandler<SetOverallRangeEventArgs> OnSetOverallRangeChanged
Public Event OnSetOverallRangeChanged As EventHandler(Of SetOverallRangeEventArgs)
Public Event OnSetOverallRangeChanged As EventHandler(Of SetOverallRangeEventArgs)
public:
 event EventHandler<SetOverallRangeEventArgs^>^ OnSetOverallRangeChanged {
    void add (EventHandler<SetOverallRangeEventArgs^>^ value);
    void remove (EventHandler<SetOverallRangeEventArgs^>^ value);
}
public:
 event EventHandler<SetOverallRangeEventArgs^>^ OnSetOverallRangeChanged {
    void add (EventHandler<SetOverallRangeEventArgs^>^ value);
    void remove (EventHandler<SetOverallRangeEventArgs^>^ value);
}
See Also
NetProgress Class
NetProgress Members


OnSetOverallStatusChanged Event

NetProgress OnSetOverallStatusChanged Event Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public event EventHandler<SetOverallStatusEventArgs> OnSetOverallStatusChanged
public event EventHandler<SetOverallStatusEventArgs> OnSetOverallStatusChanged
Public Event OnSetOverallStatusChanged As EventHandler(Of SetOverallStatusEventArgs)
Public Event OnSetOverallStatusChanged As EventHandler(Of SetOverallStatusEventArgs)
public:
 event EventHandler<SetOverallStatusEventArgs^>^ OnSetOverallStatusChanged {
    void add (EventHandler<SetOverallStatusEventArgs^>^ value);
    void remove (EventHandler<SetOverallStatusEventArgs^>^ value);
}
public:
 event EventHandler<SetOverallStatusEventArgs^>^ OnSetOverallStatusChanged {
    void add (EventHandler<SetOverallStatusEventArgs^>^ value);
    void remove (EventHandler<SetOverallStatusEventArgs^>^ value);
}
See Also
NetProgress Class
NetProgress Members


NetResult Class

NetResult Class Debug Diagnostics Tool 2.1 DebugDiag
This object represents a NetResult object. An instance of this object is obtained from the NetResults List.
Inheritance Hierarchy
Online System Object
DebugDiag.DotNet NetResult

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class NetResult : IComparable<NetResult>,
    IResult
public class NetResult : IComparable<NetResult>,
    IResult
Public Class NetResult _
    Implements IComparable(Of NetResult), IResult
Public Class NetResult _
    Implements IComparable(Of NetResult), IResult
public ref class NetResult : IComparable<NetResult^>,
    IResult
public ref class NetResult : IComparable<NetResult^>,
    IResult
See Also
NetResult Members


NetResult Members

NetResult Members Debug Diagnostics Tool 2.1 DebugDiag

The NetResult type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
 | SortResult | Returns a Comparer for ordering Results by type and weight
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Properties
 | Name | Description
Public property | Description | This property returns a string value of the result description.
Public property | DumpName | This property is used to get the associated dump for this result if any dump is associated.
Public property | IconFileName | This property allows to customize the icon that is shown on the report if the icon is displayed
Public property | Recommendation | This property returns a string value for the recommendations to make based on results.
Public property | SolutionSourceID |
Public property | Source | This property returns a string value for the source of the result.
Public property | Type | This property returns a string value for Type of results (Error/Warning/Information).
Public property | TypeLabel | This property Allows to write a custom type of result, "Notification" is an example of a custom result
Public property | Weight | This property used as a means to sort the results based on importance. For Example: Result A with weight 10 will appear higher than a result B with weight 5 in the analysis summary.
Back to Top
See Also
NetResult Class


NetResult Methods

NetResult Methods Debug Diagnostics Tool 2.1 DebugDiag
The NetResult type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
 | SortResult | Returns a Comparer for ordering Results by type and weight
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
NetResult Class


SortResult Method

NetResult SortResult Method Debug Diagnostics Tool 2.1 DebugDiag
Returns a Comparer for ordering Results by type and weight

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public static IComparer<NetResult> SortResult()
public static IComparer<NetResult> SortResult()
Public Shared Function SortResult As IComparer(Of NetResult)
Public Shared Function SortResult As IComparer(Of NetResult)
public:
static IComparer<NetResult^>^ SortResult()
public:
static IComparer<NetResult^>^ SortResult()
Return Value
See Also
NetResult Class
NetResult Members


NetResult Properties

NetResult Properties Debug Diagnostics Tool 2.1 DebugDiag
The NetResult type exposes the following members.
Properties
 | Name | Description
Public property | Description | This property returns a string value of the result description.
Public property | DumpName | This property is used to get the associated dump for this result if any dump is associated.
Public property | IconFileName | This property allows to customize the icon that is shown on the report if the icon is displayed
Public property | Recommendation | This property returns a string value for the recommendations to make based on results.
Public property | SolutionSourceID |
Public property | Source | This property returns a string value for the source of the result.
Public property | Type | This property returns a string value for Type of results (Error/Warning/Information).
Public property | TypeLabel | This property Allows to write a custom type of result, "Notification" is an example of a custom result
Public property | Weight | This property used as a means to sort the results based on importance. For Example: Result A with weight 10 will appear higher than a result B with weight 5 in the analysis summary.
Back to Top
See Also
NetResult Class


Description Property

NetResult Description Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a string value of the result description.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string Description { get; private set; }
public string Description { get; private set; }
Public Property Description As String
    Get
    Private Set
Public Property Description As String
    Get
    Private Set
public:
virtual property String^ Description {
    String^ get () sealed;
    private: void set (String^ value) sealed;
}
public:
virtual property String^ Description {
    String^ get () sealed;
    private: void set (String^ value) sealed;
}
Implements
IResult Description
See Also
NetResult Class
NetResult Members


DumpName Property

NetResult DumpName Property Debug Diagnostics Tool 2.1 DebugDiag
This property is used to get the associated dump for this result if any dump is associated.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string DumpName { get; private set; }
public string DumpName { get; private set; }
Public Property DumpName As String
    Get
    Private Set
Public Property DumpName As String
    Get
    Private Set
public:
property String^ DumpName {
    String^ get ();
    private: void set (String^ value);
}
public:
property String^ DumpName {
    String^ get ();
    private: void set (String^ value);
}
See Also
NetResult Class
NetResult Members


IconFileName Property

NetResult IconFileName Property Debug Diagnostics Tool 2.1 DebugDiag
This property allows to customize the icon that is shown on the report if the icon is displayed

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string IconFileName { get; private set; }
public string IconFileName { get; private set; }
Public Property IconFileName As String
    Get
    Private Set
Public Property IconFileName As String
    Get
    Private Set
public:
property String^ IconFileName {
    String^ get ();
    private: void set (String^ value);
}
public:
property String^ IconFileName {
    String^ get ();
    private: void set (String^ value);
}
See Also
NetResult Class
NetResult Members


Recommendation Property

NetResult Recommendation Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a string value for the recommendations to make based on results.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string Recommendation { get; private set; }
public string Recommendation { get; private set; }
Public Property Recommendation As String
    Get
    Private Set
Public Property Recommendation As String
    Get
    Private Set
public:
virtual property String^ Recommendation {
    String^ get () sealed;
    private: void set (String^ value) sealed;
}
public:
virtual property String^ Recommendation {
    String^ get () sealed;
    private: void set (String^ value) sealed;
}
Implements
IResult Recommendation
See Also
NetResult Class
NetResult Members


SolutionSourceID Property

NetResult SolutionSourceID Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string SolutionSourceID { get; private set; }
public string SolutionSourceID { get; private set; }
Public Property SolutionSourceID As String
    Get
    Private Set
Public Property SolutionSourceID As String
    Get
    Private Set
public:
virtual property String^ SolutionSourceID {
    String^ get () sealed;
    private: void set (String^ value) sealed;
}
public:
virtual property String^ SolutionSourceID {
    String^ get () sealed;
    private: void set (String^ value) sealed;
}
See Also
NetResult Class
NetResult Members


Source Property

NetResult Source Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a string value for the source of the result.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string Source { get; private set; }
public string Source { get; private set; }
Public Property Source As String
    Get
    Private Set
Public Property Source As String
    Get
    Private Set
public:
virtual property String^ Source {
    String^ get () sealed;
    private: void set (String^ value) sealed;
}
public:
virtual property String^ Source {
    String^ get () sealed;
    private: void set (String^ value) sealed;
}
Implements
IResult Source
See Also
NetResult Class
NetResult Members


Type Property

NetResult Type Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a string value for Type of results (Error/Warning/Information).

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string Type { get; private set; }
public string Type { get; private set; }
Public Property Type As String
    Get
    Private Set
Public Property Type As String
    Get
    Private Set
public:
virtual property String^ Type {
    String^ get () sealed;
    private: void set (String^ value) sealed;
}
public:
virtual property String^ Type {
    String^ get () sealed;
    private: void set (String^ value) sealed;
}
Implements
IResult Type
See Also
NetResult Class
NetResult Members


TypeLabel Property

NetResult TypeLabel Property Debug Diagnostics Tool 2.1 DebugDiag
This property Allows to write a custom type of result, "Notification" is an example of a custom result

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string TypeLabel { get; private set; }
public string TypeLabel { get; private set; }
Public Property TypeLabel As String
    Get
    Private Set
Public Property TypeLabel As String
    Get
    Private Set
public:
property String^ TypeLabel {
    String^ get ();
    private: void set (String^ value);
}
public:
property String^ TypeLabel {
    String^ get ();
    private: void set (String^ value);
}
See Also
NetResult Class
NetResult Members


Weight Property

NetResult Weight Property Debug Diagnostics Tool 2.1 DebugDiag
This property used as a means to sort the results based on importance. For Example: Result A with weight 10 will appear higher than a result B with weight 5 in the analysis summary.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int Weight { get; private set; }
public int Weight { get; private set; }
Public Property Weight As Integer
    Get
    Private Set
Public Property Weight As Integer
    Get
    Private Set
public:
virtual property int Weight {
    int get () sealed;
    private: void set (int value) sealed;
}
public:
virtual property int Weight {
    int get () sealed;
    private: void set (int value) sealed;
}
Implements
IResult Weight
See Also
NetResult Class
NetResult Members


NetResults Class

NetResults Class Debug Diagnostics Tool 2.1 DebugDiag
This object represents a global List of NetResult objects. An instance of this object is returned by running AnalysisService.RunAnalysisRules function of the AnalysisService object.
Inheritance Hierarchy
Online System Object
Online System.Collections.Generic List NetResult
DebugDiag.DotNet NetResults

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class NetResults : List<NetResult>,
    IResults, IEnumerable
public class NetResults : List<NetResult>,
    IResults, IEnumerable
Public Class NetResults _
    Inherits List(Of NetResult) _
    Implements IResults, IEnumerable
Public Class NetResults _
    Inherits List(Of NetResult) _
    Implements IResults, IEnumerable
public ref class NetResults : public List<NetResult^>,
    IResults, IEnumerable
public ref class NetResults : public List<NetResult^>,
    IResults, IEnumerable
See Also
NetResults Members


NetResults Members

NetResults Members Debug Diagnostics Tool 2.1 DebugDiag

The NetResults type exposes the following members.
Constructors
 | Name | Description
Public method | NetResults | Initializes a new instance of the NetResults class
Public method | NetResults(IResults) | Default Constructor
Back to Top
Methods
 | Name | Description
Public method | Online Add | Adds an object to the end of the Online List T . (Inherited from Online List NetResult .)
Public method | Online AddRange | Adds the elements of the specified collection to the end of the Online List T . (Inherited from Online List NetResult .)
Public method | Online AsReadOnly | Returns a read-only Online IList T wrapper for the current collection. (Inherited from Online List NetResult .)
Public method | Online BinarySearch(T) | Searches the entire sorted Online List T for an element using the default comparer and returns the zero-based index of the element. (Inherited from Online List NetResult .)
Public method | Online BinarySearch(T, IComparer T ) | Searches the entire sorted Online List T for an element using the specified comparer and returns the zero-based index of the element. (Inherited from Online List NetResult .)
Public method | Online BinarySearch(Int32, Int32, T, IComparer T ) | Searches a range of elements in the sorted Online List T for an element using the specified comparer and returns the zero-based index of the element. (Inherited from Online List NetResult .)
Public method | Online Clear | Removes all elements from the Online List T . (Inherited from Online List NetResult .)
Public method | Online Contains | Determines whether an element is in the Online List T . (Inherited from Online List NetResult .)
Public method | Online ConvertAll TOutput | Converts the elements in the current Online List T to another type, and returns a list containing the converted elements. (Inherited from Online List NetResult .)
Public method | Online CopyTo( T ) | Copies the entire Online List T to a compatible one-dimensional array, starting at the beginning of the target array. (Inherited from Online List NetResult .)
Public method | Online CopyTo( T , Int32) | Copies the entire Online List T to a compatible one-dimensional array, starting at the specified index of the target array. (Inherited from Online List NetResult .)
Public method | Online CopyTo(Int32, T , Int32, Int32) | Copies a range of elements from the Online List T to a compatible one-dimensional array, starting at the specified index of the target array. (Inherited from Online List NetResult .)
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Public method | Online Exists | Determines whether the Online List T contains elements that match the conditions defined by the specified predicate. (Inherited from Online List NetResult .)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online Find | Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online FindAll | Retrieves all the elements that match the conditions defined by the specified predicate. (Inherited from Online List NetResult .)
Public method | Online FindIndex(Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online FindIndex(Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the Online List T that extends from the specified index to the last element. (Inherited from Online List NetResult .)
Public method | Online FindIndex(Int32, Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the Online List T that starts at the specified index and contains the specified number of elements. (Inherited from Online List NetResult .)
Public method | Online FindLast | Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online FindLastIndex(Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online FindLastIndex(Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the Online List T that extends from the first element to the specified index. (Inherited from Online List NetResult .)
Public method | Online FindLastIndex(Int32, Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the Online List T that contains the specified number of elements and ends at the specified index. (Inherited from Online List NetResult .)
Public method | Online ForEach | Performs the specified action on each element of the Online List T . (Inherited from Online List NetResult .)
Public method | GetEnumerator | Method that returns the collection enumerator
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetRange | Creates a shallow copy of a range of elements in the source Online List T . (Inherited from Online List NetResult .)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Public method | Online IndexOf(T) | Searches for the specified object and returns the zero-based index of the first occurrence within the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online IndexOf(T, Int32) | Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the Online List T that extends from the specified index to the last element. (Inherited from Online List NetResult .)
Public method | Online IndexOf(T, Int32, Int32) | Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the Online List T that starts at the specified index and contains the specified number of elements. (Inherited from Online List NetResult .)
Public method | Online Insert | Inserts an element into the Online List T at the specified index. (Inherited from Online List NetResult .)
Public method | Online InsertRange | Inserts the elements of a collection into the Online List T at the specified index. (Inherited from Online List NetResult .)
Public method | Online LastIndexOf(T) | Searches for the specified object and returns the zero-based index of the last occurrence within the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online LastIndexOf(T, Int32) | Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the Online List T that extends from the first element to the specified index. (Inherited from Online List NetResult .)
Public method | Online LastIndexOf(T, Int32, Int32) | Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the Online List T that contains the specified number of elements and ends at the specified index. (Inherited from Online List NetResult .)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online Remove | Removes the first occurrence of a specific object from the Online List T . (Inherited from Online List NetResult .)
Public method | Online RemoveAll | Removes the all the elements that match the conditions defined by the specified predicate. (Inherited from Online List NetResult .)
Public method | Online RemoveAt | Removes the element at the specified index of the Online List T . (Inherited from Online List NetResult .)
Public method | Online RemoveRange | Removes a range of elements from the Online List T . (Inherited from Online List NetResult .)
Public method | Online Reverse | Reverses the order of the elements in the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online Reverse(Int32, Int32) | Reverses the order of the elements in the specified range. (Inherited from Online List NetResult .)
Public method | Online Sort | Sorts the elements in the entire Online List T using the default comparer. (Inherited from Online List NetResult .)
Public method | Online Sort(IComparer T ) | Sorts the elements in the entire Online List T using the specified comparer. (Inherited from Online List NetResult .)
Public method | Online Sort(Comparison T ) | Sorts the elements in the entire Online List T using the specified Online Comparison T . (Inherited from Online List NetResult .)
Public method | Online Sort(Int32, Int32, IComparer T ) | Sorts the elements in a range of elements in Online List T using the specified comparer. (Inherited from Online List NetResult .)
Public method | Online ToArray | Copies the elements of the Online List T to a new array. (Inherited from Online List NetResult .)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | Online TrimExcess | Sets the capacity to the actual number of elements in the Online List T , if that number is less than a threshold value. (Inherited from Online List NetResult .)
Public method | Online TrueForAll | Determines whether every element in the Online List T matches the conditions defined by the specified predicate. (Inherited from Online List NetResult .)
Back to Top
Properties
 | Name | Description
Public property | Online Capacity | Gets or sets the total number of elements the internal data structure can hold without resizing. (Inherited from Online List NetResult .)
Public property | Count | This property returns an Integer value of number of results (Errors/Warnings/Information) reported by Analyzer.
Public property | Item | This property returns the NetResult based on the index parameter
Back to Top
See Also
NetResults Class


NetResults Constructor

NetResults Constructor Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | NetResults | Initializes a new instance of the NetResults class
Public method | NetResults(IResults) | Default Constructor
Back to Top
See Also
NetResults Class
NetResults Members


NetResults Constructor

NetResults Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the NetResults class

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetResults()
public NetResults()
Public Sub New
Public Sub New
public:
NetResults()
public:
NetResults()
See Also
NetResults Class
NetResults Members
NetResults Overload


NetResults Constructor (IResults)

NetResults Constructor (IResults) Debug Diagnostics Tool 2.1 DebugDiag
Default Constructor

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetResults(
    IResults results
)
public NetResults(
    IResults results
)
Public Sub New ( _
    results As IResults _
)
Public Sub New ( _
    results As IResults _
)
public:
NetResults(
    IResults^ results
)
public:
NetResults(
    IResults^ results
)
Parameters
results
Type: DebugDiag.DbgLib IResults
Collection of results obtained from Dbglib
See Also
NetResults Class
NetResults Members
NetResults Overload


NetResults Methods

NetResults Methods Debug Diagnostics Tool 2.1 DebugDiag
The NetResults type exposes the following members.
Methods
 | Name | Description
Public method | Online Add | Adds an object to the end of the Online List T . (Inherited from Online List NetResult .)
Public method | Online AddRange | Adds the elements of the specified collection to the end of the Online List T . (Inherited from Online List NetResult .)
Public method | Online AsReadOnly | Returns a read-only Online IList T wrapper for the current collection. (Inherited from Online List NetResult .)
Public method | Online BinarySearch(T) | Searches the entire sorted Online List T for an element using the default comparer and returns the zero-based index of the element. (Inherited from Online List NetResult .)
Public method | Online BinarySearch(T, IComparer T ) | Searches the entire sorted Online List T for an element using the specified comparer and returns the zero-based index of the element. (Inherited from Online List NetResult .)
Public method | Online BinarySearch(Int32, Int32, T, IComparer T ) | Searches a range of elements in the sorted Online List T for an element using the specified comparer and returns the zero-based index of the element. (Inherited from Online List NetResult .)
Public method | Online Clear | Removes all elements from the Online List T . (Inherited from Online List NetResult .)
Public method | Online Contains | Determines whether an element is in the Online List T . (Inherited from Online List NetResult .)
Public method | Online ConvertAll TOutput | Converts the elements in the current Online List T to another type, and returns a list containing the converted elements. (Inherited from Online List NetResult .)
Public method | Online CopyTo( T ) | Copies the entire Online List T to a compatible one-dimensional array, starting at the beginning of the target array. (Inherited from Online List NetResult .)
Public method | Online CopyTo( T , Int32) | Copies the entire Online List T to a compatible one-dimensional array, starting at the specified index of the target array. (Inherited from Online List NetResult .)
Public method | Online CopyTo(Int32, T , Int32, Int32) | Copies a range of elements from the Online List T to a compatible one-dimensional array, starting at the specified index of the target array. (Inherited from Online List NetResult .)
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Public method | Online Exists | Determines whether the Online List T contains elements that match the conditions defined by the specified predicate. (Inherited from Online List NetResult .)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online Find | Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online FindAll | Retrieves all the elements that match the conditions defined by the specified predicate. (Inherited from Online List NetResult .)
Public method | Online FindIndex(Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online FindIndex(Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the Online List T that extends from the specified index to the last element. (Inherited from Online List NetResult .)
Public method | Online FindIndex(Int32, Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the Online List T that starts at the specified index and contains the specified number of elements. (Inherited from Online List NetResult .)
Public method | Online FindLast | Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online FindLastIndex(Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online FindLastIndex(Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the Online List T that extends from the first element to the specified index. (Inherited from Online List NetResult .)
Public method | Online FindLastIndex(Int32, Int32, Predicate T ) | Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the Online List T that contains the specified number of elements and ends at the specified index. (Inherited from Online List NetResult .)
Public method | Online ForEach | Performs the specified action on each element of the Online List T . (Inherited from Online List NetResult .)
Public method | GetEnumerator | Method that returns the collection enumerator
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetRange | Creates a shallow copy of a range of elements in the source Online List T . (Inherited from Online List NetResult .)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Public method | Online IndexOf(T) | Searches for the specified object and returns the zero-based index of the first occurrence within the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online IndexOf(T, Int32) | Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the Online List T that extends from the specified index to the last element. (Inherited from Online List NetResult .)
Public method | Online IndexOf(T, Int32, Int32) | Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the Online List T that starts at the specified index and contains the specified number of elements. (Inherited from Online List NetResult .)
Public method | Online Insert | Inserts an element into the Online List T at the specified index. (Inherited from Online List NetResult .)
Public method | Online InsertRange | Inserts the elements of a collection into the Online List T at the specified index. (Inherited from Online List NetResult .)
Public method | Online LastIndexOf(T) | Searches for the specified object and returns the zero-based index of the last occurrence within the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online LastIndexOf(T, Int32) | Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the Online List T that extends from the first element to the specified index. (Inherited from Online List NetResult .)
Public method | Online LastIndexOf(T, Int32, Int32) | Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the Online List T that contains the specified number of elements and ends at the specified index. (Inherited from Online List NetResult .)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online Remove | Removes the first occurrence of a specific object from the Online List T . (Inherited from Online List NetResult .)
Public method | Online RemoveAll | Removes the all the elements that match the conditions defined by the specified predicate. (Inherited from Online List NetResult .)
Public method | Online RemoveAt | Removes the element at the specified index of the Online List T . (Inherited from Online List NetResult .)
Public method | Online RemoveRange | Removes a range of elements from the Online List T . (Inherited from Online List NetResult .)
Public method | Online Reverse | Reverses the order of the elements in the entire Online List T . (Inherited from Online List NetResult .)
Public method | Online Reverse(Int32, Int32) | Reverses the order of the elements in the specified range. (Inherited from Online List NetResult .)
Public method | Online Sort | Sorts the elements in the entire Online List T using the default comparer. (Inherited from Online List NetResult .)
Public method | Online Sort(IComparer T ) | Sorts the elements in the entire Online List T using the specified comparer. (Inherited from Online List NetResult .)
Public method | Online Sort(Comparison T ) | Sorts the elements in the entire Online List T using the specified Online Comparison T . (Inherited from Online List NetResult .)
Public method | Online Sort(Int32, Int32, IComparer T ) | Sorts the elements in a range of elements in Online List T using the specified comparer. (Inherited from Online List NetResult .)
Public method | Online ToArray | Copies the elements of the Online List T to a new array. (Inherited from Online List NetResult .)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | Online TrimExcess | Sets the capacity to the actual number of elements in the Online List T , if that number is less than a threshold value. (Inherited from Online List NetResult .)
Public method | Online TrueForAll | Determines whether every element in the Online List T matches the conditions defined by the specified predicate. (Inherited from Online List NetResult .)
Back to Top
See Also
NetResults Class


GetEnumerator Method

NetResults GetEnumerator Method Debug Diagnostics Tool 2.1 DebugDiag
Method that returns the collection enumerator

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IEnumerator GetEnumerator()
public IEnumerator GetEnumerator()
Public Function GetEnumerator As IEnumerator
Public Function GetEnumerator As IEnumerator
public:
virtual IEnumerator^ GetEnumerator() sealed
public:
virtual IEnumerator^ GetEnumerator() sealed
Return Value
IEnumerator object to access the items in the List
Implements
IResults GetEnumerator
  Online IEnumerable GetEnumerator
See Also
NetResults Class
NetResults Members


NetResults Properties

NetResults Properties Debug Diagnostics Tool 2.1 DebugDiag
The NetResults type exposes the following members.
Properties
 | Name | Description
Public property | Online Capacity | Gets or sets the total number of elements the internal data structure can hold without resizing. (Inherited from Online List NetResult .)
Public property | Count | This property returns an Integer value of number of results (Errors/Warnings/Information) reported by Analyzer.
Public property | Item | This property returns the NetResult based on the index parameter
Back to Top
See Also
NetResults Class


Count Property

NetResults Count Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns an Integer value of number of results (Errors/Warnings/Information) reported by Analyzer.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int Count { get; }
public int Count { get; }
Public ReadOnly Property Count As Integer
    Get
Public ReadOnly Property Count As Integer
    Get
public:
virtual property int Count {
    int get () sealed;
}
public:
virtual property int Count {
    int get () sealed;
}
Implements
IResults Count
See Also
NetResults Class
NetResults Members


Item Property

NetResults Item Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns the NetResult based on the index parameter

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IResult this[
    int Index
] { get; }
public IResult this[
    int Index
] { get; }
Public ReadOnly Default Property Item ( _
    Index As Integer _
) As IResult
    Get
Public ReadOnly Default Property Item ( _
    Index As Integer _
) As IResult
    Get
public:
virtual property IResult^ default[int Index] {
    IResult^ get (int Index) sealed;
}
public:
virtual property IResult^ default[int Index] {
    IResult^ get (int Index) sealed;
}
Parameters
Index
Type:   Online System Int32
integer value
Return Value
NetResult located on index
Implements
IResults Item Int32
See Also
NetResults Class
NetResults Members


NetScriptManager Class

NetScriptManager Class Debug Diagnostics Tool 2.1 DebugDiag
This object is the main object for analyzer. When analyzer runs a rule an instance of this object is made available to the rule object automatically. The NetScriptManager object is used to obtain an instance of the NetDbgObj object, to report errors, warnings and other information, as well as manage the data files that will be analyzed.
Inheritance Hierarchy
Online System Object
DebugDiag.DotNet NetScriptManager

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class NetScriptManager : IDisposable
public class NetScriptManager : IDisposable
Public Class NetScriptManager _
    Implements IDisposable
Public Class NetScriptManager _
    Implements IDisposable
public ref class NetScriptManager : IDisposable
public ref class NetScriptManager : IDisposable
Remarks

             There are 2 ways to obtain an instance of a NetScriptManager, the first example shows how to obtain a reference by calling the Manager property of the NetAnalyzer object.
             The second example shows how to use the NetScriptManger when writting a custom Rule.

Examples
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
//Create an instance of the NetAnalyzer object to access the NetScriptManager
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Create a list of dumps that will be analyzed
    List<string> dumpFiles = new List<string>();
    dumpFiles.Add(@"c:\user.dmp");
    dumpFiles.Add(@"c:\test.dmp");

    //Add Dump list to Analizer object so we can analyze them with the debugger
    analyzer.AddDumpFiles(dumpFiles, @"srv*c:\symsrv*http://msdl.microsoft.com/download/symbols");

    //Obtain the NetScriptManager object from the analyzer object to be able to customize the report output
    NetScriptManager manager = analyzer.Manager;

    //Write on the report Output using the Write function
    manager.Write("There are " + dumpFiles.Count.ToString() + " files in this DataFiles collection.</BR>");
    manager.Write("The DataFiles collection contains the following files:</BR></BR>");

    foreach (string dump in dumpFiles)
    {
        manager.Write(dump + "</BR>");
    }

    //Write on the report Summary
    manager.ReportError("This is the <b>error</b> description text.", "This is the error recommendation text.");
    manager.ReportWarning("This is the warning description text.", "This is the warning recommendation text.");
    manager.ReportInformation("This is the information text. There is no recommendation text, since this is informational only.");

    //Since we are not really executing a rule in this example I just write the report file to see the results
    //manager.WriteReportFile(manager);

}
//Create an instance of the NetAnalyzer object to access the NetScriptManager
using (NetAnalyzer analyzer = new NetAnalyzer())
{
    //Create a list of dumps that will be analyzed
    List<string> dumpFiles = new List<string>();
    dumpFiles.Add(@"c:\user.dmp");
    dumpFiles.Add(@"c:\test.dmp");

    //Add Dump list to Analizer object so we can analyze them with the debugger
    analyzer.AddDumpFiles(dumpFiles, @"srv*c:\symsrv*http://msdl.microsoft.com/download/symbols");

    //Obtain the NetScriptManager object from the analyzer object to be able to customize the report output
    NetScriptManager manager = analyzer.Manager;

    //Write on the report Output using the Write function
    manager.Write("There are " + dumpFiles.Count.ToString() + " files in this DataFiles collection.</BR>");
    manager.Write("The DataFiles collection contains the following files:</BR></BR>");

    foreach (string dump in dumpFiles)
    {
        manager.Write(dump + "</BR>");
    }

    //Write on the report Summary
    manager.ReportError("This is the <b>error</b> description text.", "This is the error recommendation text.");
    manager.ReportWarning("This is the warning description text.", "This is the warning recommendation text.");
    manager.ReportInformation("This is the information text. There is no recommendation text, since this is informational only.");

    //Since we are not really executing a rule in this example I just write the report file to see the results
    //manager.WriteReportFile(manager);

}
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
 public class ImplementedRule : IMultiDumpRule, IAnalysisRuleMetadata
{
    public void RunAnalysisRule(DebugDiag.DotNet.NetScriptManager manager, DebugDiag.DotNet.NetProgress Progress)
    {

        //Create a list of dumps that will be analyzed
        List<string> dumpFiles = new List<string>();

        dumpFiles = manager.GetDumpFiles();

        //Write on the report Output using the Write function
        manager.Write("There are " + dumpFiles.Count.ToString() + " files in this DataFiles collection.</BR>");
        manager.Write("The DataFiles collection contains the following files:</BR></BR>");

        foreach (string dump in dumpFiles)
        {
            using (NetDbgObj debugger = manager.GetDebugger(dump))
            {
                manager.Write(dump + " : " + (debugger.Is32Bit ? "x86" : "x64") + "</BR>");
            }
        }

        //Write on the report Summary
        manager.ReportError("This is the <b>error</b> description text.", "This is the error recommendation text.");
        manager.ReportWarning("This is the warning description text.", "This is the warning recommendation text.");
        manager.ReportInformation("This is the information text. There is no recommendation text, since this is informational only.");
    }

    public string Category
    {
      get { return "Samples"; }
    }

    public string Description
    {
      get { return "Show me the Bitness"; }
    }

}
 public class ImplementedRule : IMultiDumpRule, IAnalysisRuleMetadata
{
    public void RunAnalysisRule(DebugDiag.DotNet.NetScriptManager manager, DebugDiag.DotNet.NetProgress Progress)
    {

        //Create a list of dumps that will be analyzed
        List<string> dumpFiles = new List<string>();

        dumpFiles = manager.GetDumpFiles();

        //Write on the report Output using the Write function
        manager.Write("There are " + dumpFiles.Count.ToString() + " files in this DataFiles collection.</BR>");
        manager.Write("The DataFiles collection contains the following files:</BR></BR>");

        foreach (string dump in dumpFiles)
        {
            using (NetDbgObj debugger = manager.GetDebugger(dump))
            {
                manager.Write(dump + " : " + (debugger.Is32Bit ? "x86" : "x64") + "</BR>");
            }
        }

        //Write on the report Summary
        manager.ReportError("This is the <b>error</b> description text.", "This is the error recommendation text.");
        manager.ReportWarning("This is the warning description text.", "This is the warning recommendation text.");
        manager.ReportInformation("This is the information text. There is no recommendation text, since this is informational only.");
    }

    public string Category
    {
      get { return "Samples"; }
    }

    public string Description
    {
      get { return "Show me the Bitness"; }
    }

}
See Also
NetScriptManager Members


NetScriptManager Members

NetScriptManager Members Debug Diagnostics Tool 2.1 DebugDiag

The NetScriptManager type exposes the following members.
Methods
 | Name | Description
Public method | AddFact | This method is used by unattended processors to add arbitrary data from the dump into a fact model. This method is not intended for use from within your code.
Public method | AddReportSection | Function to create a inner Report Section on the report
Public method | Dispose | Release all the native resources, the NetAnalyzer.Dispose function also calls the NetScriptManager.Dispose function.
Protected method | Dispose(Boolean) | Release all the native resources, the NetAnalyzer.Dispose function also calls the NetScriptManager.Dispose function.
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | GetDebugger | This method returns a NetDbgObj object. The string passed into the method should contain the full path to the filename of a *.dmp file that is to be analyzed.
Public method | GetDumpFiles | This method returns a List of strings containing the file names to be analyzed.
Public method | GetFacts | Returns the Collection of Facts based on the index specified. This method is not intended for use from within your code.
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | GetReportFileFullPath | This method returns the full path for the report.
Public method | GetResource | This method returns a string using the ResourceManager and the resourceKey associated with the string
Public method | GetResults | Returns the Collection of IResults based on the index specified
Public method | GetScriptsSummaryTableContents | This function returns the Summary Table of Contents of the report in html format
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | RegisterJSDocReadyHandler | Since the report includes Jquery 1.11.0 handlers for events on dynamic html object can be added on the $(document).ready(function () { through this method
Public method | RegisterJSFunction | This function appends the code sent as parameter allowing anlaysis rule developers to add custom Javascript functions to the report
Public method | ReportError(String, String) | This method is used to report an error to DebugDiag. The data passed to this method will appear in the analysis report as an error.
Public method | ReportError(String, String, Int32) | This method is used to report an error to DebugDiag. The data passed to this method will appear in the analysis report as an error.
Public method | ReportError(String, String, Int32, String) | This method is used to report an error to DebugDiag. The data passed to this method will appear in the analysis report as an error.
Public method | ReportInformation(String) | This method is used to report general information to DebugDiag.
Public method | ReportInformation(String, Int32) | This method is used to report general information to DebugDiag. The parameter Weight helps to order the summary based on the most relevant results.
Public method | ReportInformation(String, Int32, String) | This method is used to report general information to DebugDiag. The parameter Weight helps to order the summary based on the most relevant results.
Public method | ReportOther | Adds a comment to the report
Public method | ReportWarning(String, String) | This method is used to report a warning to DebugDiag. The data passed to this method will appear in the analysis report as a warning.
Public method | ReportWarning(String, String, Int32) | This method is used to report a warning to DebugDiag. The data passed to this method will appear in the analysis report as a warning.
Public method | ReportWarning(String, String, Int32, String) | This method is used to report a warning to DebugDiag. The data passed to this method will appear in the analysis report as a warning.
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | Write(String) | This method is used to report detailed information to the user about the analysis.
Public method | Write(String, Boolean, String, Int32) | Method to write data on the report
Public method | WriteLine | Method to write an Empty line on the Report
Public method | WriteLine(String) | Method to write string with a libe break on the report
Public method | WriteLine(String, Boolean, String, Int32) | Method to write string with a libe break on the report
Public method | WriteNameValuePair | Method to write a Name-Value pair on the report file using some basic formating
Public method | WriteReportFile | Function that will create the report file for code that is not implemented as a rule
Back to Top
Properties
 | Name | Description
Public property | CurrentAnalysisRule | Returns the name of the current Analysis Rule
Public property | DefaultSection | This property returns a reference to the ReportSection where report details are being written for the rule.
Public property | DoHangAnalysisOnCrashDumps | If set to true, this property enables to perform a Hang Analysis along with a Crash Analysis for a Crash dump
Public property | Progress | Returns an instance of the NetProgress object which is used to report the script progress to DebugDiag.
Public property | SetContextOnCrashDumps |
Public property | SourceInfoEnabled | This property allows you to enable or disable source information on the callstacks printed on the analysis results
Back to Top
See Also
NetScriptManager Class


NetScriptManager Methods

NetScriptManager Methods Debug Diagnostics Tool 2.1 DebugDiag
The NetScriptManager type exposes the following members.
Methods
 | Name | Description
Public method | AddFact | This method is used by unattended processors to add arbitrary data from the dump into a fact model. This method is not intended for use from within your code.
Public method | AddReportSection | Function to create a inner Report Section on the report
Public method | Dispose | Release all the native resources, the NetAnalyzer.Dispose function also calls the NetScriptManager.Dispose function.
Protected method | Dispose(Boolean) | Release all the native resources, the NetAnalyzer.Dispose function also calls the NetScriptManager.Dispose function.
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | GetDebugger | This method returns a NetDbgObj object. The string passed into the method should contain the full path to the filename of a *.dmp file that is to be analyzed.
Public method | GetDumpFiles | This method returns a List of strings containing the file names to be analyzed.
Public method | GetFacts | Returns the Collection of Facts based on the index specified. This method is not intended for use from within your code.
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | GetReportFileFullPath | This method returns the full path for the report.
Public method | GetResource | This method returns a string using the ResourceManager and the resourceKey associated with the string
Public method | GetResults | Returns the Collection of IResults based on the index specified
Public method | GetScriptsSummaryTableContents | This function returns the Summary Table of Contents of the report in html format
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | RegisterJSDocReadyHandler | Since the report includes Jquery 1.11.0 handlers for events on dynamic html object can be added on the $(document).ready(function () { through this method
Public method | RegisterJSFunction | This function appends the code sent as parameter allowing anlaysis rule developers to add custom Javascript functions to the report
Public method | ReportError(String, String) | This method is used to report an error to DebugDiag. The data passed to this method will appear in the analysis report as an error.
Public method | ReportError(String, String, Int32) | This method is used to report an error to DebugDiag. The data passed to this method will appear in the analysis report as an error.
Public method | ReportError(String, String, Int32, String) | This method is used to report an error to DebugDiag. The data passed to this method will appear in the analysis report as an error.
Public method | ReportInformation(String) | This method is used to report general information to DebugDiag.
Public method | ReportInformation(String, Int32) | This method is used to report general information to DebugDiag. The parameter Weight helps to order the summary based on the most relevant results.
Public method | ReportInformation(String, Int32, String) | This method is used to report general information to DebugDiag. The parameter Weight helps to order the summary based on the most relevant results.
Public method | ReportOther | Adds a comment to the report
Public method | ReportWarning(String, String) | This method is used to report a warning to DebugDiag. The data passed to this method will appear in the analysis report as a warning.
Public method | ReportWarning(String, String, Int32) | This method is used to report a warning to DebugDiag. The data passed to this method will appear in the analysis report as a warning.
Public method | ReportWarning(String, String, Int32, String) | This method is used to report a warning to DebugDiag. The data passed to this method will appear in the analysis report as a warning.
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | Write(String) | This method is used to report detailed information to the user about the analysis.
Public method | Write(String, Boolean, String, Int32) | Method to write data on the report
Public method | WriteLine | Method to write an Empty line on the Report
Public method | WriteLine(String) | Method to write string with a libe break on the report
Public method | WriteLine(String, Boolean, String, Int32) | Method to write string with a libe break on the report
Public method | WriteNameValuePair | Method to write a Name-Value pair on the report file using some basic formating
Public method | WriteReportFile | Function that will create the report file for code that is not implemented as a rule
Back to Top
See Also
NetScriptManager Class


AddFact Method

NetScriptManager AddFact Method Debug Diagnostics Tool 2.1 DebugDiag
This method is used by unattended processors to add arbitrary data from the dump into a fact model. This method is not intended for use from within your code.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void AddFact(
    ref Fact fact
)
public void AddFact(
    ref Fact fact
)
Public Sub AddFact ( _
    ByRef fact As Fact _
)
Public Sub AddFact ( _
    ByRef fact As Fact _
)
public:
void AddFact(
    Fact^% fact
)
public:
void AddFact(
    Fact^% fact
)
Parameters
fact
Type: DebugDiag.DotNet Fact
See Also
NetScriptManager Class
NetScriptManager Members


AddReportSection Method

NetScriptManager AddReportSection Method Debug Diagnostics Tool 2.1 DebugDiag
Function to create a inner Report Section on the report

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ReportSection AddReportSection(
    string SectionID,
    SectionType ReportSectionType
)
public ReportSection AddReportSection(
    string SectionID,
    SectionType ReportSectionType
)
Public Function AddReportSection ( _
    SectionID As String, _
    ReportSectionType As SectionType _
) As ReportSection
Public Function AddReportSection ( _
    SectionID As String, _
    ReportSectionType As SectionType _
) As ReportSection
public:
ReportSection^ AddReportSection(
    String^ SectionID,
    SectionType ReportSectionType
)
public:
ReportSection^ AddReportSection(
    String^ SectionID,
    SectionType ReportSectionType
)
Parameters
SectionID
Type:   Online System String
Unique name for the new section, whenever a sectionID that already exists is used, the existing
            report section will be returned
ReportSectionType
Type: DebugDiag.DotNet.Reports SectionType
Type of Section to be added, use custom type as the default section
Return Value
New created inner section or existing section that matches with the ID
See Also
NetScriptManager Class
NetScriptManager Members


Dispose Method

NetScriptManager Dispose Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | Dispose | Release all the native resources, the NetAnalyzer.Dispose function also calls the NetScriptManager.Dispose function.
Protected method | Dispose(Boolean) | Release all the native resources, the NetAnalyzer.Dispose function also calls the NetScriptManager.Dispose function.
Back to Top
See Also
NetScriptManager Class
NetScriptManager Members


Dispose Method

NetScriptManager Dispose Method Debug Diagnostics Tool 2.1 DebugDiag
Release all the native resources, the NetAnalyzer.Dispose function also calls the NetScriptManager.Dispose function.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void Dispose()
public void Dispose()
Public Sub Dispose
Public Sub Dispose
public:
virtual void Dispose() sealed
public:
virtual void Dispose() sealed
Implements
  Online IDisposable Dispose
See Also
NetScriptManager Class
NetScriptManager Members
Dispose Overload


Dispose Method (Boolean)

NetScriptManager Dispose Method (Boolean) Debug Diagnostics Tool 2.1 DebugDiag
Release all the native resources, the NetAnalyzer.Dispose function also calls the NetScriptManager.Dispose function.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected virtual void Dispose(
    bool disposing
)
protected virtual void Dispose(
    bool disposing
)
Protected Overridable Sub Dispose ( _
    disposing As Boolean _
)
Protected Overridable Sub Dispose ( _
    disposing As Boolean _
)
protected:
virtual void Dispose(
    bool disposing
)
protected:
virtual void Dispose(
    bool disposing
)
Parameters
disposing
Type:   Online System Boolean
Disposing
See Also
NetScriptManager Class
NetScriptManager Members
Dispose Overload


GetDebugger Method

NetScriptManager GetDebugger Method Debug Diagnostics Tool 2.1 DebugDiag
This method returns a NetDbgObj object. The string passed into the method should contain the full path to the filename of a *.dmp file that is to be analyzed.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetDbgObj GetDebugger(
    string DumpFile
)
public NetDbgObj GetDebugger(
    string DumpFile
)
Public Function GetDebugger ( _
    DumpFile As String _
) As NetDbgObj
Public Function GetDebugger ( _
    DumpFile As String _
) As NetDbgObj
public:
NetDbgObj^ GetDebugger(
    String^ DumpFile
)
public:
NetDbgObj^ GetDebugger(
    String^ DumpFile
)
Parameters
DumpFile
Type:   Online System String
Dump File Name including the path information
Return Value
NetDbgObj instance reference
See Also
NetScriptManager Class
NetScriptManager Members


GetDumpFiles Method

NetScriptManager GetDumpFiles Method Debug Diagnostics Tool 2.1 DebugDiag
This method returns a List of strings containing the file names to be analyzed.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public List<string> GetDumpFiles()
public List<string> GetDumpFiles()
Public Function GetDumpFiles As List(Of String)
Public Function GetDumpFiles As List(Of String)
public:
List<String^>^ GetDumpFiles()
public:
List<String^>^ GetDumpFiles()
Return Value
String list with the dump file names
See Also
NetScriptManager Class
NetScriptManager Members


GetFacts Method

NetScriptManager GetFacts Method Debug Diagnostics Tool 2.1 DebugDiag
Returns the Collection of Facts based on the index specified. This method is not intended for use from within your code.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public List<Fact> GetFacts(
    int index
)
public List<Fact> GetFacts(
    int index
)
Public Function GetFacts ( _
    index As Integer _
) As List(Of Fact)
Public Function GetFacts ( _
    index As Integer _
) As List(Of Fact)
public:
List<Fact^>^ GetFacts(
    int index
)
public:
List<Fact^>^ GetFacts(
    int index
)
Parameters
index
Type:   Online System Int32
indicate which set of IResults to return
Return Value
Reference object that represents the COM collection of IResults
See Also
NetScriptManager Class
NetScriptManager Members


GetReportFileFullPath Method

NetScriptManager GetReportFileFullPath Method Debug Diagnostics Tool 2.1 DebugDiag
This method returns the full path for the report.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetReportFileFullPath()
public string GetReportFileFullPath()
Public Function GetReportFileFullPath As String
Public Function GetReportFileFullPath As String
public:
String^ GetReportFileFullPath()
public:
String^ GetReportFileFullPath()
Return Value
String with the full file path
See Also
NetScriptManager Class
NetScriptManager Members


GetResource Method

NetScriptManager GetResource Method Debug Diagnostics Tool 2.1 DebugDiag
This method returns a string using the ResourceManager and the resourceKey associated with the string

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetResource(
    string resourceKey
)
public string GetResource(
    string resourceKey
)
Public Function GetResource ( _
    resourceKey As String _
) As String
Public Function GetResource ( _
    resourceKey As String _
) As String
public:
String^ GetResource(
    String^ resourceKey
)
public:
String^ GetResource(
    String^ resourceKey
)
Parameters
resourceKey
Type:   Online System String
Resource key associated with the string
Return Value
String stored on the resources
See Also
NetScriptManager Class
NetScriptManager Members


GetResults Method

NetScriptManager GetResults Method Debug Diagnostics Tool 2.1 DebugDiag
Returns the Collection of IResults based on the index specified

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IResults GetResults(
    int index
)
public IResults GetResults(
    int index
)
Public Function GetResults ( _
    index As Integer _
) As IResults
Public Function GetResults ( _
    index As Integer _
) As IResults
public:
IResults^ GetResults(
    int index
)
public:
IResults^ GetResults(
    int index
)
Parameters
index
Type:   Online System Int32
indicate which set of IResults to return
Return Value
Reference object that represents the COM collection of IResults
See Also
NetScriptManager Class
NetScriptManager Members


GetScriptsSummaryTableContents Method

NetScriptManager GetScriptsSummaryTableContents Method Debug Diagnostics Tool 2.1 DebugDiag
This function returns the Summary Table of Contents of the report in html format

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetScriptsSummaryTableContents()
public string GetScriptsSummaryTableContents()
Public Function GetScriptsSummaryTableContents As String
Public Function GetScriptsSummaryTableContents As String
public:
String^ GetScriptsSummaryTableContents()
public:
String^ GetScriptsSummaryTableContents()
Return Value
html table with summary of the report
See Also
NetScriptManager Class
NetScriptManager Members


RegisterJSDocReadyHandler Method

NetScriptManager RegisterJSDocReadyHandler Method Debug Diagnostics Tool 2.1 DebugDiag
Since the report includes Jquery 1.11.0 handlers for events on dynamic html object can be added on the $(document).ready(function () { through this method

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void RegisterJSDocReadyHandler(
    string handlerJSCode
)
public void RegisterJSDocReadyHandler(
    string handlerJSCode
)
Public Sub RegisterJSDocReadyHandler ( _
    handlerJSCode As String _
)
Public Sub RegisterJSDocReadyHandler ( _
    handlerJSCode As String _
)
public:
void RegisterJSDocReadyHandler(
    String^ handlerJSCode
)
public:
void RegisterJSDocReadyHandler(
    String^ handlerJSCode
)
Parameters
handlerJSCode
Type:   Online System String
string containing the Javascript handler
See Also
NetScriptManager Class
NetScriptManager Members


RegisterJSFunction Method

NetScriptManager RegisterJSFunction Method Debug Diagnostics Tool 2.1 DebugDiag
This function appends the code sent as parameter allowing anlaysis rule developers to add custom Javascript functions to the report

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void RegisterJSFunction(
    string JSCode
)
public void RegisterJSFunction(
    string JSCode
)
Public Sub RegisterJSFunction ( _
    JSCode As String _
)
Public Sub RegisterJSFunction ( _
    JSCode As String _
)
public:
void RegisterJSFunction(
    String^ JSCode
)
public:
void RegisterJSFunction(
    String^ JSCode
)
Parameters
JSCode
Type:   Online System String
string containing the Javascript function code
See Also
NetScriptManager Class
NetScriptManager Members


ReportError Method

NetScriptManager ReportError Method Debug Diagnostics Tool 2.1 DebugDiag
This merthod has two overloads.
Overload List
 | Name | Description
Public method | ReportError(String, String) | This method is used to report an error to DebugDiag. The data passed to this method will appear in the analysis report as an error.
Public method | ReportError(String, String, Int32) | This method is used to report an error to DebugDiag. The data passed to this method will appear in the analysis report as an error.
Public method | ReportError(String, String, Int32, String) | This method is used to report an error to DebugDiag. The data passed to this method will appear in the analysis report as an error.
Back to Top
See Also
NetScriptManager Class
NetScriptManager Members


ReportError Method (String, String)

NetScriptManager ReportError Method (String, String) Debug Diagnostics Tool 2.1 DebugDiag
This method is used to report an error to DebugDiag. The data passed to this method will appear in the analysis report as an error.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void ReportError(
    string Error,
    string Recommendation
)
public void ReportError(
    string Error,
    string Recommendation
)
Public Sub ReportError ( _
    Error As String, _
    Recommendation As String _
)
Public Sub ReportError ( _
    Error As String, _
    Recommendation As String _
)
public:
void ReportError(
    String^ Error,
    String^ Recommendation
)
public:
void ReportError(
    String^ Error,
    String^ Recommendation
)
Parameters
Error
Type:   Online System String
The first string passed to this method is the error to be reported.
Recommendation
Type:   Online System String
The second string is the recommendation suggested to resolve the error.
See Also
NetScriptManager Class
NetScriptManager Members
ReportError Overload


ReportError Method (String, String, Int32)

NetScriptManager ReportError Method (String, String, Int32) Debug Diagnostics Tool 2.1 DebugDiag
This method is used to report an error to DebugDiag. The data passed to this method will appear in the analysis report as an error.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void ReportError(
    string Error,
    string Recommendation,
    int Weight
)
public void ReportError(
    string Error,
    string Recommendation,
    int Weight
)
Public Sub ReportError ( _
    Error As String, _
    Recommendation As String, _
    Weight As Integer _
)
Public Sub ReportError ( _
    Error As String, _
    Recommendation As String, _
    Weight As Integer _
)
public:
void ReportError(
    String^ Error,
    String^ Recommendation,
    int Weight
)
public:
void ReportError(
    String^ Error,
    String^ Recommendation,
    int Weight
)
Parameters
Error
Type:   Online System String
The first string passed to this method is the error to be reported.
Recommendation
Type:   Online System String
The second string is the recommendation suggested to resolve the error.
Weight
Type:   Online System Int32
An integer value representing the relevance of the result.
See Also
NetScriptManager Class
NetScriptManager Members
ReportError Overload


ReportError Method (String, String, Int32, String)

NetScriptManager ReportError Method (String, String, Int32, String) Debug Diagnostics Tool 2.1 DebugDiag
This method is used to report an error to DebugDiag. The data passed to this method will appear in the analysis report as an error.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void ReportError(
    string Error,
    string Recommendation,
    int Weight,
    string SolutionSourceID
)
public void ReportError(
    string Error,
    string Recommendation,
    int Weight,
    string SolutionSourceID
)
Public Sub ReportError ( _
    Error As String, _
    Recommendation As String, _
    Weight As Integer, _
    SolutionSourceID As String _
)
Public Sub ReportError ( _
    Error As String, _
    Recommendation As String, _
    Weight As Integer, _
    SolutionSourceID As String _
)
public:
void ReportError(
    String^ Error,
    String^ Recommendation,
    int Weight,
    String^ SolutionSourceID
)
public:
void ReportError(
    String^ Error,
    String^ Recommendation,
    int Weight,
    String^ SolutionSourceID
)
Parameters
Error
Type:   Online System String
The first string passed to this method is the error to be reported.
Recommendation
Type:   Online System String
The second string is the recommendation suggested to resolve the error.
Weight
Type:   Online System Int32
An integer value representing the relevance of the result.
SolutionSourceID
Type:   Online System String
reserved
See Also
NetScriptManager Class
NetScriptManager Members
ReportError Overload


ReportInformation Method

NetScriptManager ReportInformation Method Debug Diagnostics Tool 2.1 DebugDiag
There are two overloads for this method
Overload List
 | Name | Description
Public method | ReportInformation(String) | This method is used to report general information to DebugDiag.
Public method | ReportInformation(String, Int32) | This method is used to report general information to DebugDiag. The parameter Weight helps to order the summary based on the most relevant results.
Public method | ReportInformation(String, Int32, String) | This method is used to report general information to DebugDiag. The parameter Weight helps to order the summary based on the most relevant results.
Back to Top
See Also
NetScriptManager Class
NetScriptManager Members


ReportInformation Method (String)

NetScriptManager ReportInformation Method (String) Debug Diagnostics Tool 2.1 DebugDiag
This method is used to report general information to DebugDiag.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void ReportInformation(
    string Information
)
public void ReportInformation(
    string Information
)
Public Sub ReportInformation ( _
    Information As String _
)
Public Sub ReportInformation ( _
    Information As String _
)
public:
void ReportInformation(
    String^ Information
)
public:
void ReportInformation(
    String^ Information
)
Parameters
Information
Type:   Online System String
The data passed to this method will appear in the analysis report as information.
See Also
NetScriptManager Class
NetScriptManager Members
ReportInformation Overload


ReportInformation Method (String, Int32)

NetScriptManager ReportInformation Method (String, Int32) Debug Diagnostics Tool 2.1 DebugDiag
This method is used to report general information to DebugDiag. The parameter Weight helps to order the summary based on the most relevant results.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void ReportInformation(
    string Information,
    int Weight
)
public void ReportInformation(
    string Information,
    int Weight
)
Public Sub ReportInformation ( _
    Information As String, _
    Weight As Integer _
)
Public Sub ReportInformation ( _
    Information As String, _
    Weight As Integer _
)
public:
void ReportInformation(
    String^ Information,
    int Weight
)
public:
void ReportInformation(
    String^ Information,
    int Weight
)
Parameters
Information
Type:   Online System String
The data passed to this method will appear in the analysis report as information.
Weight
Type:   Online System Int32
An integer value representing the relevance of the result.
See Also
NetScriptManager Class
NetScriptManager Members
ReportInformation Overload


ReportInformation Method (String, Int32, String)

NetScriptManager ReportInformation Method (String, Int32, String) Debug Diagnostics Tool 2.1 DebugDiag
This method is used to report general information to DebugDiag. The parameter Weight helps to order the summary based on the most relevant results.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void ReportInformation(
    string Information,
    int Weight,
    string SolutionSourceID
)
public void ReportInformation(
    string Information,
    int Weight,
    string SolutionSourceID
)
Public Sub ReportInformation ( _
    Information As String, _
    Weight As Integer, _
    SolutionSourceID As String _
)
Public Sub ReportInformation ( _
    Information As String, _
    Weight As Integer, _
    SolutionSourceID As String _
)
public:
void ReportInformation(
    String^ Information,
    int Weight,
    String^ SolutionSourceID
)
public:
void ReportInformation(
    String^ Information,
    int Weight,
    String^ SolutionSourceID
)
Parameters
Information
Type:   Online System String
The data passed to this method will appear in the analysis report as information.
Weight
Type:   Online System Int32
An integer value representing the relevance of the result.
SolutionSourceID
Type:   Online System String
reserved
See Also
NetScriptManager Class
NetScriptManager Members
ReportInformation Overload


ReportOther Method

NetScriptManager ReportOther Method Debug Diagnostics Tool 2.1 DebugDiag
Adds a comment to the report

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void ReportOther(
    string Description,
    string Recommendation,
    string TypeLabel,
    string IconFileName,
    int Weight = 0,
    string SolutionSourceID = ""
)
public void ReportOther(
    string Description,
    string Recommendation,
    string TypeLabel,
    string IconFileName,
    int Weight = 0,
    string SolutionSourceID = ""
)
Public Sub ReportOther ( _
    Description As String, _
    Recommendation As String, _
    TypeLabel As String, _
    IconFileName As String, _
    Optional Weight As Integer = 0, _
    Optional SolutionSourceID As String = "" _
)
Public Sub ReportOther ( _
    Description As String, _
    Recommendation As String, _
    TypeLabel As String, _
    IconFileName As String, _
    Optional Weight As Integer = 0, _
    Optional SolutionSourceID As String = "" _
)
public:
void ReportOther(
    String^ Description,
    String^ Recommendation,
    String^ TypeLabel,
    String^ IconFileName,
    int Weight = 0,
    String^ SolutionSourceID = L""
)
public:
void ReportOther(
    String^ Description,
    String^ Recommendation,
    String^ TypeLabel,
    String^ IconFileName,
    int Weight = 0,
    String^ SolutionSourceID = L""
)
Parameters
Description
Type:   Online System String
String containing what you want to report
Recommendation
Type:   Online System String
String that will appear on the recommendation column of the report
TypeLabel
Type:   Online System String
Name for the custom type of information reported
IconFileName
Type:   Online System String
Icon file name to attach on the report
Weight (Optional)
Type:   Online System Int32
An integer value representing the relevance of the result.
SolutionSourceID (Optional)
Type:   Online System String
reserved
See Also
NetScriptManager Class
NetScriptManager Members


ReportWarning Method

NetScriptManager ReportWarning Method Debug Diagnostics Tool 2.1 DebugDiag
This method has two overloads
Overload List
 | Name | Description
Public method | ReportWarning(String, String) | This method is used to report a warning to DebugDiag. The data passed to this method will appear in the analysis report as a warning.
Public method | ReportWarning(String, String, Int32) | This method is used to report a warning to DebugDiag. The data passed to this method will appear in the analysis report as a warning.
Public method | ReportWarning(String, String, Int32, String) | This method is used to report a warning to DebugDiag. The data passed to this method will appear in the analysis report as a warning.
Back to Top
See Also
NetScriptManager Class
NetScriptManager Members


ReportWarning Method (String, String)

NetScriptManager ReportWarning Method (String, String) Debug Diagnostics Tool 2.1 DebugDiag
This method is used to report a warning to DebugDiag. The data passed to this method will appear in the analysis report as a warning.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void ReportWarning(
    string Warning,
    string Recommendation
)
public void ReportWarning(
    string Warning,
    string Recommendation
)
Public Sub ReportWarning ( _
    Warning As String, _
    Recommendation As String _
)
Public Sub ReportWarning ( _
    Warning As String, _
    Recommendation As String _
)
public:
void ReportWarning(
    String^ Warning,
    String^ Recommendation
)
public:
void ReportWarning(
    String^ Warning,
    String^ Recommendation
)
Parameters
Warning
Type:   Online System String
The first string passed to this method is the warning to be reported.
Recommendation
Type:   Online System String
The second string is the recommendation suggested to resolve the warning.
See Also
NetScriptManager Class
NetScriptManager Members
ReportWarning Overload


ReportWarning Method (String, String, Int32)

NetScriptManager ReportWarning Method (String, String, Int32) Debug Diagnostics Tool 2.1 DebugDiag
This method is used to report a warning to DebugDiag. The data passed to this method will appear in the analysis report as a warning.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void ReportWarning(
    string Warning,
    string Recommendation,
    int Weight
)
public void ReportWarning(
    string Warning,
    string Recommendation,
    int Weight
)
Public Sub ReportWarning ( _
    Warning As String, _
    Recommendation As String, _
    Weight As Integer _
)
Public Sub ReportWarning ( _
    Warning As String, _
    Recommendation As String, _
    Weight As Integer _
)
public:
void ReportWarning(
    String^ Warning,
    String^ Recommendation,
    int Weight
)
public:
void ReportWarning(
    String^ Warning,
    String^ Recommendation,
    int Weight
)
Parameters
Warning
Type:   Online System String
The first string passed to this method is the warning to be reported.
Recommendation
Type:   Online System String
The second string is the recommendation suggested to resolve the warning.
Weight
Type:   Online System Int32
An integer value representing the relevance of the result.
See Also
NetScriptManager Class
NetScriptManager Members
ReportWarning Overload


ReportWarning Method (String, String, Int32, String)

NetScriptManager ReportWarning Method (String, String, Int32, String) Debug Diagnostics Tool 2.1 DebugDiag
This method is used to report a warning to DebugDiag. The data passed to this method will appear in the analysis report as a warning.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void ReportWarning(
    string Warning,
    string Recommendation,
    int Weight,
    string SolutionSourceID
)
public void ReportWarning(
    string Warning,
    string Recommendation,
    int Weight,
    string SolutionSourceID
)
Public Sub ReportWarning ( _
    Warning As String, _
    Recommendation As String, _
    Weight As Integer, _
    SolutionSourceID As String _
)
Public Sub ReportWarning ( _
    Warning As String, _
    Recommendation As String, _
    Weight As Integer, _
    SolutionSourceID As String _
)
public:
void ReportWarning(
    String^ Warning,
    String^ Recommendation,
    int Weight,
    String^ SolutionSourceID
)
public:
void ReportWarning(
    String^ Warning,
    String^ Recommendation,
    int Weight,
    String^ SolutionSourceID
)
Parameters
Warning
Type:   Online System String
The first string passed to this method is the warning to be reported.
Recommendation
Type:   Online System String
The second string is the recommendation suggested to resolve the warning.
Weight
Type:   Online System Int32
An integer value representing the relevance of the result.
SolutionSourceID
Type:   Online System String
reserved
See Also
NetScriptManager Class
NetScriptManager Members
ReportWarning Overload


Write Method

NetScriptManager Write Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | Write(String) | This method is used to report detailed information to the user about the analysis.
Public method | Write(String, Boolean, String, Int32) | Method to write data on the report
Back to Top
See Also
NetScriptManager Class
NetScriptManager Members


Write Method (String)

NetScriptManager Write Method (String) Debug Diagnostics Tool 2.1 DebugDiag
This method is used to report detailed information to the user about the analysis.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void Write(
    string Output
)
public void Write(
    string Output
)
Public Sub Write ( _
    Output As String _
)
Public Sub Write ( _
    Output As String _
)
public:
void Write(
    String^ Output
)
public:
void Write(
    String^ Output
)
Parameters
Output
Type:   Online System String
Content to write on the report
See Also
NetScriptManager Class
NetScriptManager Members
Write Overload


Write Method (String, Boolean, String, Int32)

NetScriptManager Write Method (String, Boolean, String, Int32) Debug Diagnostics Tool 2.1 DebugDiag
Method to write data on the report

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void Write(
    string output,
    bool bold,
    string color,
    int size = 0
)
public void Write(
    string output,
    bool bold,
    string color,
    int size = 0
)
Public Sub Write ( _
    output As String, _
    bold As Boolean, _
    color As String, _
    Optional size As Integer = 0 _
)
Public Sub Write ( _
    output As String, _
    bold As Boolean, _
    color As String, _
    Optional size As Integer = 0 _
)
public:
void Write(
    String^ output,
    bool bold,
    String^ color,
    int size = 0
)
public:
void Write(
    String^ output,
    bool bold,
    String^ color,
    int size = 0
)
Parameters
output
Type:   Online System String
String value to add on the report
bold
Type:   Online System Boolean
Boolean value indicating if the text should be formated as bold
color
Type:   Online System String
String indicating the color to apply on the text
size (Optional)
Type:   Online System Int32
Integer indicating the size of the text
See Also
NetScriptManager Class
NetScriptManager Members
Write Overload


WriteLine Method

NetScriptManager WriteLine Method Debug Diagnostics Tool 2.1 DebugDiag
This method has two more overloads
Overload List
 | Name | Description
Public method | WriteLine | Method to write an Empty line on the Report
Public method | WriteLine(String) | Method to write string with a libe break on the report
Public method | WriteLine(String, Boolean, String, Int32) | Method to write string with a libe break on the report
Back to Top
See Also
NetScriptManager Class
NetScriptManager Members


WriteLine Method

NetScriptManager WriteLine Method Debug Diagnostics Tool 2.1 DebugDiag
Method to write an Empty line on the Report

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void WriteLine()
public void WriteLine()
Public Sub WriteLine
Public Sub WriteLine
public:
void WriteLine()
public:
void WriteLine()
See Also
NetScriptManager Class
NetScriptManager Members
WriteLine Overload


WriteLine Method (String)

NetScriptManager WriteLine Method (String) Debug Diagnostics Tool 2.1 DebugDiag
Method to write string with a libe break on the report

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void WriteLine(
    string output
)
public void WriteLine(
    string output
)
Public Sub WriteLine ( _
    output As String _
)
Public Sub WriteLine ( _
    output As String _
)
public:
void WriteLine(
    String^ output
)
public:
void WriteLine(
    String^ output
)
Parameters
output
Type:   Online System String
String value to write on the report
See Also
NetScriptManager Class
NetScriptManager Members
WriteLine Overload


WriteLine Method (String, Boolean, String, Int32)

NetScriptManager WriteLine Method (String, Boolean, String, Int32) Debug Diagnostics Tool 2.1 DebugDiag
Method to write string with a libe break on the report

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void WriteLine(
    string output,
    bool bold,
    string color = null,
    int size = 0
)
public void WriteLine(
    string output,
    bool bold,
    string color = null,
    int size = 0
)
Public Sub WriteLine ( _
    output As String, _
    bold As Boolean, _
    Optional color As String = Nothing, _
    Optional size As Integer = 0 _
)
Public Sub WriteLine ( _
    output As String, _
    bold As Boolean, _
    Optional color As String = Nothing, _
    Optional size As Integer = 0 _
)
public:
void WriteLine(
    String^ output,
    bool bold,
    String^ color = nullptr,
    int size = 0
)
public:
void WriteLine(
    String^ output,
    bool bold,
    String^ color = nullptr,
    int size = 0
)
Parameters
output
Type:   Online System String
String value to write on the report
bold
Type:   Online System Boolean
Boolean to indicate if the string should be formated as Bold
color (Optional)
Type:   Online System String
String value to apply a color to the text
size (Optional)
Type:   Online System Int32
Integer value to indicate the size for the text
See Also
NetScriptManager Class
NetScriptManager Members
WriteLine Overload


WriteNameValuePair Method

NetScriptManager WriteNameValuePair Method Debug Diagnostics Tool 2.1 DebugDiag
Method to write a Name-Value pair on the report file using some basic formating

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void WriteNameValuePair(
    string name,
    string value,
    bool bold = true,
    string color = null,
    int size = 0
)
public void WriteNameValuePair(
    string name,
    string value,
    bool bold = true,
    string color = null,
    int size = 0
)
Public Sub WriteNameValuePair ( _
    name As String, _
    value As String, _
    Optional bold As Boolean = True, _
    Optional color As String = Nothing, _
    Optional size As Integer = 0 _
)
Public Sub WriteNameValuePair ( _
    name As String, _
    value As String, _
    Optional bold As Boolean = True, _
    Optional color As String = Nothing, _
    Optional size As Integer = 0 _
)
public:
void WriteNameValuePair(
    String^ name,
    String^ value,
    bool bold = true,
    String^ color = nullptr,
    int size = 0
)
public:
void WriteNameValuePair(
    String^ name,
    String^ value,
    bool bold = true,
    String^ color = nullptr,
    int size = 0
)
Parameters
name
Type:   Online System String
String representing the Name of the pair
value
Type:   Online System String
String representing the Value of the pair
bold (Optional)
Type:   Online System Boolean
Optional Boolean value indicating if the text should be formated as bold, the default is true
color (Optional)
Type:   Online System String
Optional string indicating the color for the text, default value is null
size (Optional)
Type:   Online System Int32
Optional text size
See Also
NetScriptManager Class
NetScriptManager Members


WriteReportFile Method

NetScriptManager WriteReportFile Method Debug Diagnostics Tool 2.1 DebugDiag
Function that will create the report file for code that is not implemented as a rule

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void WriteReportFile(
    string reportFileFullPath
)
public void WriteReportFile(
    string reportFileFullPath
)
Public Sub WriteReportFile ( _
    reportFileFullPath As String _
)
Public Sub WriteReportFile ( _
    reportFileFullPath As String _
)
public:
void WriteReportFile(
    String^ reportFileFullPath
)
public:
void WriteReportFile(
    String^ reportFileFullPath
)
Parameters
reportFileFullPath
Type:   Online System String
Path where the report file should be generated
See Also
NetScriptManager Class
NetScriptManager Members


NetScriptManager Properties

NetScriptManager Properties Debug Diagnostics Tool 2.1 DebugDiag
The NetScriptManager type exposes the following members.
Properties
 | Name | Description
Public property | CurrentAnalysisRule | Returns the name of the current Analysis Rule
Public property | DefaultSection | This property returns a reference to the ReportSection where report details are being written for the rule.
Public property | DoHangAnalysisOnCrashDumps | If set to true, this property enables to perform a Hang Analysis along with a Crash Analysis for a Crash dump
Public property | Progress | Returns an instance of the NetProgress object which is used to report the script progress to DebugDiag.
Public property | SetContextOnCrashDumps |
Public property | SourceInfoEnabled | This property allows you to enable or disable source information on the callstacks printed on the analysis results
Back to Top
See Also
NetScriptManager Class


CurrentAnalysisRule Property

NetScriptManager CurrentAnalysisRule Property Debug Diagnostics Tool 2.1 DebugDiag
Returns the name of the current Analysis Rule

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string CurrentAnalysisRule { get; set; }
public string CurrentAnalysisRule { get; set; }
Public Property CurrentAnalysisRule As String
    Get
    Set
Public Property CurrentAnalysisRule As String
    Get
    Set
public:
property String^ CurrentAnalysisRule {
    String^ get ();
    void set (String^ value);
}
public:
property String^ CurrentAnalysisRule {
    String^ get ();
    void set (String^ value);
}
See Also
NetScriptManager Class
NetScriptManager Members


DefaultSection Property

NetScriptManager DefaultSection Property Debug Diagnostics Tool 2.1 DebugDiag
This property returns a reference to the ReportSection where report details are being written for the rule.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ReportSection DefaultSection { get; }
public ReportSection DefaultSection { get; }
Public ReadOnly Property DefaultSection As ReportSection
    Get
Public ReadOnly Property DefaultSection As ReportSection
    Get
public:
property ReportSection^ DefaultSection {
    ReportSection^ get ();
}
public:
property ReportSection^ DefaultSection {
    ReportSection^ get ();
}
See Also
NetScriptManager Class
NetScriptManager Members


DoHangAnalysisOnCrashDumps Property

NetScriptManager DoHangAnalysisOnCrashDumps Property Debug Diagnostics Tool 2.1 DebugDiag
If set to true, this property enables to perform a Hang Analysis along with a Crash Analysis for a Crash dump

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool DoHangAnalysisOnCrashDumps { get; set; }
public bool DoHangAnalysisOnCrashDumps { get; set; }
Public Property DoHangAnalysisOnCrashDumps As Boolean
    Get
    Set
Public Property DoHangAnalysisOnCrashDumps As Boolean
    Get
    Set
public:
property bool DoHangAnalysisOnCrashDumps {
    bool get ();
    void set (bool value);
}
public:
property bool DoHangAnalysisOnCrashDumps {
    bool get ();
    void set (bool value);
}
See Also
NetScriptManager Class
NetScriptManager Members


Progress Property

NetScriptManager Progress Property Debug Diagnostics Tool 2.1 DebugDiag
Returns an instance of the NetProgress object which is used to report the script progress to DebugDiag.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NetProgress Progress { get; }
public NetProgress Progress { get; }
Public ReadOnly Property Progress As NetProgress
    Get
Public ReadOnly Property Progress As NetProgress
    Get
public:
property NetProgress^ Progress {
    NetProgress^ get ();
}
public:
property NetProgress^ Progress {
    NetProgress^ get ();
}
See Also
NetScriptManager Class
NetScriptManager Members


SetContextOnCrashDumps Property

NetScriptManager SetContextOnCrashDumps Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool SetContextOnCrashDumps { get; set; }
public bool SetContextOnCrashDumps { get; set; }
Public Property SetContextOnCrashDumps As Boolean
    Get
    Set
Public Property SetContextOnCrashDumps As Boolean
    Get
    Set
public:
property bool SetContextOnCrashDumps {
    bool get ();
    void set (bool value);
}
public:
property bool SetContextOnCrashDumps {
    bool get ();
    void set (bool value);
}
See Also
NetScriptManager Class
NetScriptManager Members


SourceInfoEnabled Property

NetScriptManager SourceInfoEnabled Property Debug Diagnostics Tool 2.1 DebugDiag
This property allows you to enable or disable source information on the callstacks printed on the analysis results

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool SourceInfoEnabled { get; set; }
public bool SourceInfoEnabled { get; set; }
Public Property SourceInfoEnabled As Boolean
    Get
    Set
Public Property SourceInfoEnabled As Boolean
    Get
    Set
public:
property bool SourceInfoEnabled {
    bool get ();
    void set (bool value);
}
public:
property bool SourceInfoEnabled {
    bool get ();
    void set (bool value);
}
See Also
NetScriptManager Class
NetScriptManager Members


RuleExecutionEventArgs Class

RuleExecutionEventArgs Class Debug Diagnostics Tool 2.1 DebugDiag
Provides data for the PreExecuteRule Event
Inheritance Hierarchy
Online System Object
Online System EventArgs
DebugDiag.DotNet RuleExecutionEventArgs

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class RuleExecutionEventArgs : EventArgs
public class RuleExecutionEventArgs : EventArgs
Public Class RuleExecutionEventArgs _
    Inherits EventArgs
Public Class RuleExecutionEventArgs _
    Inherits EventArgs
public ref class RuleExecutionEventArgs : public EventArgs
public ref class RuleExecutionEventArgs : public EventArgs
See Also
RuleExecutionEventArgs Members


RuleExecutionEventArgs Members

RuleExecutionEventArgs Members Debug Diagnostics Tool 2.1 DebugDiag

The RuleExecutionEventArgs type exposes the following members.
Constructors
 | Name | Description
Public method | RuleExecutionEventArgs | Default Constructor
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Fields
 | Name | Description
Public field | AnalysisRuleName | Field containing the RuleName
Public field | DumpName | Field containing the Dump Name if the rule is not Multidump, otherwise will be empty
Public field | ThreadID | Field containing the thread ID for rules executed on each thread, otherwise will be empty
Back to Top
See Also
RuleExecutionEventArgs Class


RuleExecutionEventArgs Constructor

RuleExecutionEventArgs Constructor Debug Diagnostics Tool 2.1 DebugDiag
Default Constructor

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public RuleExecutionEventArgs(
    string analisysRuleName,
    string dumpName,
    string threadID
)
public RuleExecutionEventArgs(
    string analisysRuleName,
    string dumpName,
    string threadID
)
Public Sub New ( _
    analisysRuleName As String, _
    dumpName As String, _
    threadID As String _
)
Public Sub New ( _
    analisysRuleName As String, _
    dumpName As String, _
    threadID As String _
)
public:
RuleExecutionEventArgs(
    String^ analisysRuleName,
    String^ dumpName,
    String^ threadID
)
public:
RuleExecutionEventArgs(
    String^ analisysRuleName,
    String^ dumpName,
    String^ threadID
)
Parameters
analisysRuleName
Type:   Online System String
Name of the Analysis Rule
dumpName
Type:   Online System String
Name of the dump where the rule will be executed if not a Multidump rule
threadID
Type:   Online System String
ID of the thread where the rule will be executed if a Thread rule
See Also
RuleExecutionEventArgs Class
RuleExecutionEventArgs Members


RuleExecutionEventArgs Fields

RuleExecutionEventArgs Fields Debug Diagnostics Tool 2.1 DebugDiag
The RuleExecutionEventArgs type exposes the following members.
Fields
 | Name | Description
Public field | AnalysisRuleName | Field containing the RuleName
Public field | DumpName | Field containing the Dump Name if the rule is not Multidump, otherwise will be empty
Public field | ThreadID | Field containing the thread ID for rules executed on each thread, otherwise will be empty
Back to Top
See Also
RuleExecutionEventArgs Class


AnalysisRuleName Field

RuleExecutionEventArgs AnalysisRuleName Field Debug Diagnostics Tool 2.1 DebugDiag
Field containing the RuleName

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string AnalysisRuleName
public string AnalysisRuleName
Public AnalysisRuleName As String
Public AnalysisRuleName As String
public:
String^ AnalysisRuleName
public:
String^ AnalysisRuleName
See Also
RuleExecutionEventArgs Class
RuleExecutionEventArgs Members


DumpName Field

RuleExecutionEventArgs DumpName Field Debug Diagnostics Tool 2.1 DebugDiag
Field containing the Dump Name if the rule is not Multidump, otherwise will be empty

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string DumpName
public string DumpName
Public DumpName As String
Public DumpName As String
public:
String^ DumpName
public:
String^ DumpName
See Also
RuleExecutionEventArgs Class
RuleExecutionEventArgs Members


ThreadID Field

RuleExecutionEventArgs ThreadID Field Debug Diagnostics Tool 2.1 DebugDiag
Field containing the thread ID for rules executed on each thread, otherwise will be empty

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string ThreadID
public string ThreadID
Public ThreadID As String
Public ThreadID As String
public:
String^ ThreadID
public:
String^ ThreadID
See Also
RuleExecutionEventArgs Class
RuleExecutionEventArgs Members


RuleExecutionEventArgs Methods

RuleExecutionEventArgs Methods Debug Diagnostics Tool 2.1 DebugDiag
The RuleExecutionEventArgs type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
RuleExecutionEventArgs Class


RuleFilterEventArgs Class

RuleFilterEventArgs Class Debug Diagnostics Tool 2.1 DebugDiag
Provides data for the OnRuleFilter Event
Inheritance Hierarchy
Online System Object
Online System EventArgs
DebugDiag.DotNet RuleFilterEventArgs

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class RuleFilterEventArgs : EventArgs
public class RuleFilterEventArgs : EventArgs
Public Class RuleFilterEventArgs _
    Inherits EventArgs
Public Class RuleFilterEventArgs _
    Inherits EventArgs
public ref class RuleFilterEventArgs : public EventArgs
public ref class RuleFilterEventArgs : public EventArgs
See Also
RuleFilterEventArgs Members


RuleFilterEventArgs Members

RuleFilterEventArgs Members Debug Diagnostics Tool 2.1 DebugDiag

The RuleFilterEventArgs type exposes the following members.
Constructors
 | Name | Description
Public method | RuleFilterEventArgs(String, List String , RuleFilterResults) | Initializes a new instance of RuleFilterEventArgs class.
Public method | RuleFilterEventArgs(String, String, RuleFilterResults) | Initializes a new instance of RuleFilterEventArgs class.
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Fields
 | Name | Description
Public field | AnalysisRuleName | Field containing the Analysis rule name.
Public field | DumpFiles | Field containing a List of strings containing all the Dump file names.
Public field | FilterResult | Field containing the Filter result.
Back to Top
See Also
RuleFilterEventArgs Class


RuleFilterEventArgs Constructor

RuleFilterEventArgs Constructor Debug Diagnostics Tool 2.1 DebugDiag
This constructor has one overload
Overload List
 | Name | Description
Public method | RuleFilterEventArgs(String, List String , RuleFilterResults) | Initializes a new instance of RuleFilterEventArgs class.
Public method | RuleFilterEventArgs(String, String, RuleFilterResults) | Initializes a new instance of RuleFilterEventArgs class.
Back to Top
See Also
RuleFilterEventArgs Class
RuleFilterEventArgs Members


RuleFilterEventArgs Constructor (String, List(String), RuleFilterResults)

RuleFilterEventArgs Constructor (String, List String , RuleFilterResults) Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of RuleFilterEventArgs class.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public RuleFilterEventArgs(
    string analysisRuleName,
    List<string> dumpFiles,
    RuleFilterResults filterResult
)
public RuleFilterEventArgs(
    string analysisRuleName,
    List<string> dumpFiles,
    RuleFilterResults filterResult
)
Public Sub New ( _
    analysisRuleName As String, _
    dumpFiles As List(Of String), _
    filterResult As RuleFilterResults _
)
Public Sub New ( _
    analysisRuleName As String, _
    dumpFiles As List(Of String), _
    filterResult As RuleFilterResults _
)
public:
RuleFilterEventArgs(
    String^ analysisRuleName,
    List<String^>^ dumpFiles,
    RuleFilterResults filterResult
)
public:
RuleFilterEventArgs(
    String^ analysisRuleName,
    List<String^>^ dumpFiles,
    RuleFilterResults filterResult
)
Parameters
analysisRuleName
Type:   Online System String
The name of the rule
dumpFiles
Type:   Online System.Collections.Generic List    Online String
A list of strings containing the full names of the dump files.
filterResult
Type: DebugDiag.DotNet RuleFilterResults
Filter result
See Also
RuleFilterEventArgs Class
RuleFilterEventArgs Members
RuleFilterEventArgs Overload


RuleFilterEventArgs Constructor (String, String, RuleFilterResults)

RuleFilterEventArgs Constructor (String, String, RuleFilterResults) Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of RuleFilterEventArgs class.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public RuleFilterEventArgs(
    string analysisRuleName,
    string dumpFileFullPath,
    RuleFilterResults filterResult
)
public RuleFilterEventArgs(
    string analysisRuleName,
    string dumpFileFullPath,
    RuleFilterResults filterResult
)
Public Sub New ( _
    analysisRuleName As String, _
    dumpFileFullPath As String, _
    filterResult As RuleFilterResults _
)
Public Sub New ( _
    analysisRuleName As String, _
    dumpFileFullPath As String, _
    filterResult As RuleFilterResults _
)
public:
RuleFilterEventArgs(
    String^ analysisRuleName,
    String^ dumpFileFullPath,
    RuleFilterResults filterResult
)
public:
RuleFilterEventArgs(
    String^ analysisRuleName,
    String^ dumpFileFullPath,
    RuleFilterResults filterResult
)
Parameters
analysisRuleName
Type:   Online System String
The name of the rule
dumpFileFullPath
Type:   Online System String
Full path and dump file name
filterResult
Type: DebugDiag.DotNet RuleFilterResults
Filter result
See Also
RuleFilterEventArgs Class
RuleFilterEventArgs Members
RuleFilterEventArgs Overload


RuleFilterEventArgs Fields

RuleFilterEventArgs Fields Debug Diagnostics Tool 2.1 DebugDiag
The RuleFilterEventArgs type exposes the following members.
Fields
 | Name | Description
Public field | AnalysisRuleName | Field containing the Analysis rule name.
Public field | DumpFiles | Field containing a List of strings containing all the Dump file names.
Public field | FilterResult | Field containing the Filter result.
Back to Top
See Also
RuleFilterEventArgs Class


AnalysisRuleName Field

RuleFilterEventArgs AnalysisRuleName Field Debug Diagnostics Tool 2.1 DebugDiag
Field containing the Analysis rule name.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string AnalysisRuleName
public string AnalysisRuleName
Public AnalysisRuleName As String
Public AnalysisRuleName As String
public:
String^ AnalysisRuleName
public:
String^ AnalysisRuleName
See Also
RuleFilterEventArgs Class
RuleFilterEventArgs Members


DumpFiles Field

RuleFilterEventArgs DumpFiles Field Debug Diagnostics Tool 2.1 DebugDiag
Field containing a List of strings containing all the Dump file names.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public List<string> DumpFiles
public List<string> DumpFiles
Public DumpFiles As List(Of String)
Public DumpFiles As List(Of String)
public:
List<String^>^ DumpFiles
public:
List<String^>^ DumpFiles
See Also
RuleFilterEventArgs Class
RuleFilterEventArgs Members


FilterResult Field

RuleFilterEventArgs FilterResult Field Debug Diagnostics Tool 2.1 DebugDiag
Field containing the Filter result.

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public RuleFilterResults FilterResult
public RuleFilterResults FilterResult
Public FilterResult As RuleFilterResults
Public FilterResult As RuleFilterResults
public:
RuleFilterResults FilterResult
public:
RuleFilterResults FilterResult
See Also
RuleFilterEventArgs Class
RuleFilterEventArgs Members


RuleFilterEventArgs Methods

RuleFilterEventArgs Methods Debug Diagnostics Tool 2.1 DebugDiag
The RuleFilterEventArgs type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
RuleFilterEventArgs Class


RuleFilterResults Enumeration

RuleFilterResults Enumeration Debug Diagnostics Tool 2.1 DebugDiag
Enumeration that indicates the possible Filter results

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public enum RuleFilterResults
public enum RuleFilterResults
Public Enumeration RuleFilterResults
Public Enumeration RuleFilterResults
public enum class RuleFilterResults
public enum class RuleFilterResults
Members
Member name | Value | Description
NoFilter | 0 |
FilterReturnedFalse | 1 |
FilterReturnedTrue | 2 |
See Also


SetCurrentPositionEventArgs Class

SetCurrentPositionEventArgs Class Debug Diagnostics Tool 2.1 DebugDiag
Inheritance Hierarchy
Online System Object
Online System EventArgs
DebugDiag.DotNet SetCurrentPositionEventArgs

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class SetCurrentPositionEventArgs : EventArgs
public class SetCurrentPositionEventArgs : EventArgs
Public Class SetCurrentPositionEventArgs _
    Inherits EventArgs
Public Class SetCurrentPositionEventArgs _
    Inherits EventArgs
public ref class SetCurrentPositionEventArgs : public EventArgs
public ref class SetCurrentPositionEventArgs : public EventArgs
See Also
SetCurrentPositionEventArgs Members


SetCurrentPositionEventArgs Members

SetCurrentPositionEventArgs Members Debug Diagnostics Tool 2.1 DebugDiag

The SetCurrentPositionEventArgs type exposes the following members.
Constructors
 | Name | Description
Public method | SetCurrentPositionEventArgs | Initializes a new instance of the SetCurrentPositionEventArgs class
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Fields
 | Name | Description
Public field | NewPosition |
Back to Top
See Also
SetCurrentPositionEventArgs Class


SetCurrentPositionEventArgs Constructor

SetCurrentPositionEventArgs Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the SetCurrentPositionEventArgs class

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public SetCurrentPositionEventArgs(
    int newPosition
)
public SetCurrentPositionEventArgs(
    int newPosition
)
Public Sub New ( _
    newPosition As Integer _
)
Public Sub New ( _
    newPosition As Integer _
)
public:
SetCurrentPositionEventArgs(
    int newPosition
)
public:
SetCurrentPositionEventArgs(
    int newPosition
)
Parameters
newPosition
Type:   Online System Int32
See Also
SetCurrentPositionEventArgs Class
SetCurrentPositionEventArgs Members


SetCurrentPositionEventArgs Fields

SetCurrentPositionEventArgs Fields Debug Diagnostics Tool 2.1 DebugDiag
The SetCurrentPositionEventArgs type exposes the following members.
Fields
 | Name | Description
Public field | NewPosition |
Back to Top
See Also
SetCurrentPositionEventArgs Class


NewPosition Field

SetCurrentPositionEventArgs NewPosition Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int NewPosition
public int NewPosition
Public NewPosition As Integer
Public NewPosition As Integer
public:
int NewPosition
public:
int NewPosition
See Also
SetCurrentPositionEventArgs Class
SetCurrentPositionEventArgs Members


SetCurrentPositionEventArgs Methods

SetCurrentPositionEventArgs Methods Debug Diagnostics Tool 2.1 DebugDiag
The SetCurrentPositionEventArgs type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
SetCurrentPositionEventArgs Class


SetCurrentRangeEventArgs Class

SetCurrentRangeEventArgs Class Debug Diagnostics Tool 2.1 DebugDiag
Inheritance Hierarchy
Online System Object
Online System EventArgs
DebugDiag.DotNet SetCurrentRangeEventArgs

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class SetCurrentRangeEventArgs : EventArgs
public class SetCurrentRangeEventArgs : EventArgs
Public Class SetCurrentRangeEventArgs _
    Inherits EventArgs
Public Class SetCurrentRangeEventArgs _
    Inherits EventArgs
public ref class SetCurrentRangeEventArgs : public EventArgs
public ref class SetCurrentRangeEventArgs : public EventArgs
See Also
SetCurrentRangeEventArgs Members


SetCurrentRangeEventArgs Members

SetCurrentRangeEventArgs Members Debug Diagnostics Tool 2.1 DebugDiag

The SetCurrentRangeEventArgs type exposes the following members.
Constructors
 | Name | Description
Public method | SetCurrentRangeEventArgs | Initializes a new instance of the SetCurrentRangeEventArgs class
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Fields
 | Name | Description
Public field | NewHigh |
Public field | NewLow |
Back to Top
See Also
SetCurrentRangeEventArgs Class


SetCurrentRangeEventArgs Constructor

SetCurrentRangeEventArgs Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the SetCurrentRangeEventArgs class

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public SetCurrentRangeEventArgs(
    int newLow,
    int newHigh
)
public SetCurrentRangeEventArgs(
    int newLow,
    int newHigh
)
Public Sub New ( _
    newLow As Integer, _
    newHigh As Integer _
)
Public Sub New ( _
    newLow As Integer, _
    newHigh As Integer _
)
public:
SetCurrentRangeEventArgs(
    int newLow,
    int newHigh
)
public:
SetCurrentRangeEventArgs(
    int newLow,
    int newHigh
)
Parameters
newLow
Type:   Online System Int32
newHigh
Type:   Online System Int32
See Also
SetCurrentRangeEventArgs Class
SetCurrentRangeEventArgs Members


SetCurrentRangeEventArgs Fields

SetCurrentRangeEventArgs Fields Debug Diagnostics Tool 2.1 DebugDiag
The SetCurrentRangeEventArgs type exposes the following members.
Fields
 | Name | Description
Public field | NewHigh |
Public field | NewLow |
Back to Top
See Also
SetCurrentRangeEventArgs Class


NewHigh Field

SetCurrentRangeEventArgs NewHigh Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int NewHigh
public int NewHigh
Public NewHigh As Integer
Public NewHigh As Integer
public:
int NewHigh
public:
int NewHigh
See Also
SetCurrentRangeEventArgs Class
SetCurrentRangeEventArgs Members


NewLow Field

SetCurrentRangeEventArgs NewLow Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int NewLow
public int NewLow
Public NewLow As Integer
Public NewLow As Integer
public:
int NewLow
public:
int NewLow
See Also
SetCurrentRangeEventArgs Class
SetCurrentRangeEventArgs Members


SetCurrentRangeEventArgs Methods

SetCurrentRangeEventArgs Methods Debug Diagnostics Tool 2.1 DebugDiag
The SetCurrentRangeEventArgs type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
SetCurrentRangeEventArgs Class


SetCurrentStatusEventArgs Class

SetCurrentStatusEventArgs Class Debug Diagnostics Tool 2.1 DebugDiag
Inheritance Hierarchy
Online System Object
Online System EventArgs
DebugDiag.DotNet SetCurrentStatusEventArgs

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class SetCurrentStatusEventArgs : EventArgs
public class SetCurrentStatusEventArgs : EventArgs
Public Class SetCurrentStatusEventArgs _
    Inherits EventArgs
Public Class SetCurrentStatusEventArgs _
    Inherits EventArgs
public ref class SetCurrentStatusEventArgs : public EventArgs
public ref class SetCurrentStatusEventArgs : public EventArgs
See Also
SetCurrentStatusEventArgs Members


SetCurrentStatusEventArgs Members

SetCurrentStatusEventArgs Members Debug Diagnostics Tool 2.1 DebugDiag

The SetCurrentStatusEventArgs type exposes the following members.
Constructors
 | Name | Description
Public method | SetCurrentStatusEventArgs | Initializes a new instance of the SetCurrentStatusEventArgs class
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Fields
 | Name | Description
Public field | NewStatus |
Back to Top
See Also
SetCurrentStatusEventArgs Class


SetCurrentStatusEventArgs Constructor

SetCurrentStatusEventArgs Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the SetCurrentStatusEventArgs class

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public SetCurrentStatusEventArgs(
    string newStatus
)
public SetCurrentStatusEventArgs(
    string newStatus
)
Public Sub New ( _
    newStatus As String _
)
Public Sub New ( _
    newStatus As String _
)
public:
SetCurrentStatusEventArgs(
    String^ newStatus
)
public:
SetCurrentStatusEventArgs(
    String^ newStatus
)
Parameters
newStatus
Type:   Online System String
See Also
SetCurrentStatusEventArgs Class
SetCurrentStatusEventArgs Members


SetCurrentStatusEventArgs Fields

SetCurrentStatusEventArgs Fields Debug Diagnostics Tool 2.1 DebugDiag
The SetCurrentStatusEventArgs type exposes the following members.
Fields
 | Name | Description
Public field | NewStatus |
Back to Top
See Also
SetCurrentStatusEventArgs Class


NewStatus Field

SetCurrentStatusEventArgs NewStatus Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string NewStatus
public string NewStatus
Public NewStatus As String
Public NewStatus As String
public:
String^ NewStatus
public:
String^ NewStatus
See Also
SetCurrentStatusEventArgs Class
SetCurrentStatusEventArgs Members


SetCurrentStatusEventArgs Methods

SetCurrentStatusEventArgs Methods Debug Diagnostics Tool 2.1 DebugDiag
The SetCurrentStatusEventArgs type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
SetCurrentStatusEventArgs Class


SetDebuggerStatusEventArgs Class

SetDebuggerStatusEventArgs Class Debug Diagnostics Tool 2.1 DebugDiag
Inheritance Hierarchy
Online System Object
Online System EventArgs
DebugDiag.DotNet SetDebuggerStatusEventArgs

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class SetDebuggerStatusEventArgs : EventArgs
public class SetDebuggerStatusEventArgs : EventArgs
Public Class SetDebuggerStatusEventArgs _
    Inherits EventArgs
Public Class SetDebuggerStatusEventArgs _
    Inherits EventArgs
public ref class SetDebuggerStatusEventArgs : public EventArgs
public ref class SetDebuggerStatusEventArgs : public EventArgs
See Also
SetDebuggerStatusEventArgs Members


SetDebuggerStatusEventArgs Members

SetDebuggerStatusEventArgs Members Debug Diagnostics Tool 2.1 DebugDiag

The SetDebuggerStatusEventArgs type exposes the following members.
Constructors
 | Name | Description
Public method | SetDebuggerStatusEventArgs | Initializes a new instance of the SetDebuggerStatusEventArgs class
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Fields
 | Name | Description
Public field | NewDebuggerStatus |
Back to Top
See Also
SetDebuggerStatusEventArgs Class


SetDebuggerStatusEventArgs Constructor

SetDebuggerStatusEventArgs Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the SetDebuggerStatusEventArgs class

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public SetDebuggerStatusEventArgs(
    string newDebuggerStatus
)
public SetDebuggerStatusEventArgs(
    string newDebuggerStatus
)
Public Sub New ( _
    newDebuggerStatus As String _
)
Public Sub New ( _
    newDebuggerStatus As String _
)
public:
SetDebuggerStatusEventArgs(
    String^ newDebuggerStatus
)
public:
SetDebuggerStatusEventArgs(
    String^ newDebuggerStatus
)
Parameters
newDebuggerStatus
Type:   Online System String
See Also
SetDebuggerStatusEventArgs Class
SetDebuggerStatusEventArgs Members


SetDebuggerStatusEventArgs Fields

SetDebuggerStatusEventArgs Fields Debug Diagnostics Tool 2.1 DebugDiag
The SetDebuggerStatusEventArgs type exposes the following members.
Fields
 | Name | Description
Public field | NewDebuggerStatus |
Back to Top
See Also
SetDebuggerStatusEventArgs Class


NewDebuggerStatus Field

SetDebuggerStatusEventArgs NewDebuggerStatus Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string NewDebuggerStatus
public string NewDebuggerStatus
Public NewDebuggerStatus As String
Public NewDebuggerStatus As String
public:
String^ NewDebuggerStatus
public:
String^ NewDebuggerStatus
See Also
SetDebuggerStatusEventArgs Class
SetDebuggerStatusEventArgs Members


SetDebuggerStatusEventArgs Methods

SetDebuggerStatusEventArgs Methods Debug Diagnostics Tool 2.1 DebugDiag
The SetDebuggerStatusEventArgs type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
SetDebuggerStatusEventArgs Class


SetOverallPositionEventArgs Class

SetOverallPositionEventArgs Class Debug Diagnostics Tool 2.1 DebugDiag
Inheritance Hierarchy
Online System Object
Online System EventArgs
DebugDiag.DotNet SetOverallPositionEventArgs

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class SetOverallPositionEventArgs : EventArgs
public class SetOverallPositionEventArgs : EventArgs
Public Class SetOverallPositionEventArgs _
    Inherits EventArgs
Public Class SetOverallPositionEventArgs _
    Inherits EventArgs
public ref class SetOverallPositionEventArgs : public EventArgs
public ref class SetOverallPositionEventArgs : public EventArgs
See Also
SetOverallPositionEventArgs Members


SetOverallPositionEventArgs Members

SetOverallPositionEventArgs Members Debug Diagnostics Tool 2.1 DebugDiag

The SetOverallPositionEventArgs type exposes the following members.
Constructors
 | Name | Description
Public method | SetOverallPositionEventArgs | Initializes a new instance of the SetOverallPositionEventArgs class
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Fields
 | Name | Description
Public field | NewPosition |
Back to Top
See Also
SetOverallPositionEventArgs Class


SetOverallPositionEventArgs Constructor

SetOverallPositionEventArgs Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the SetOverallPositionEventArgs class

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public SetOverallPositionEventArgs(
    int newPosition
)
public SetOverallPositionEventArgs(
    int newPosition
)
Public Sub New ( _
    newPosition As Integer _
)
Public Sub New ( _
    newPosition As Integer _
)
public:
SetOverallPositionEventArgs(
    int newPosition
)
public:
SetOverallPositionEventArgs(
    int newPosition
)
Parameters
newPosition
Type:   Online System Int32
See Also
SetOverallPositionEventArgs Class
SetOverallPositionEventArgs Members


SetOverallPositionEventArgs Fields

SetOverallPositionEventArgs Fields Debug Diagnostics Tool 2.1 DebugDiag
The SetOverallPositionEventArgs type exposes the following members.
Fields
 | Name | Description
Public field | NewPosition |
Back to Top
See Also
SetOverallPositionEventArgs Class


NewPosition Field

SetOverallPositionEventArgs NewPosition Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int NewPosition
public int NewPosition
Public NewPosition As Integer
Public NewPosition As Integer
public:
int NewPosition
public:
int NewPosition
See Also
SetOverallPositionEventArgs Class
SetOverallPositionEventArgs Members


SetOverallPositionEventArgs Methods

SetOverallPositionEventArgs Methods Debug Diagnostics Tool 2.1 DebugDiag
The SetOverallPositionEventArgs type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
SetOverallPositionEventArgs Class


SetOverallRangeEventArgs Class

SetOverallRangeEventArgs Class Debug Diagnostics Tool 2.1 DebugDiag
Inheritance Hierarchy
Online System Object
Online System EventArgs
DebugDiag.DotNet SetOverallRangeEventArgs

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class SetOverallRangeEventArgs : EventArgs
public class SetOverallRangeEventArgs : EventArgs
Public Class SetOverallRangeEventArgs _
    Inherits EventArgs
Public Class SetOverallRangeEventArgs _
    Inherits EventArgs
public ref class SetOverallRangeEventArgs : public EventArgs
public ref class SetOverallRangeEventArgs : public EventArgs
See Also
SetOverallRangeEventArgs Members


SetOverallRangeEventArgs Members

SetOverallRangeEventArgs Members Debug Diagnostics Tool 2.1 DebugDiag

The SetOverallRangeEventArgs type exposes the following members.
Constructors
 | Name | Description
Public method | SetOverallRangeEventArgs | Initializes a new instance of the SetOverallRangeEventArgs class
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Fields
 | Name | Description
Public field | NewHigh |
Public field | NewLow |
Back to Top
See Also
SetOverallRangeEventArgs Class


SetOverallRangeEventArgs Constructor

SetOverallRangeEventArgs Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the SetOverallRangeEventArgs class

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public SetOverallRangeEventArgs(
    int Low,
    int High
)
public SetOverallRangeEventArgs(
    int Low,
    int High
)
Public Sub New ( _
    Low As Integer, _
    High As Integer _
)
Public Sub New ( _
    Low As Integer, _
    High As Integer _
)
public:
SetOverallRangeEventArgs(
    int Low,
    int High
)
public:
SetOverallRangeEventArgs(
    int Low,
    int High
)
Parameters
Low
Type:   Online System Int32
High
Type:   Online System Int32
See Also
SetOverallRangeEventArgs Class
SetOverallRangeEventArgs Members


SetOverallRangeEventArgs Fields

SetOverallRangeEventArgs Fields Debug Diagnostics Tool 2.1 DebugDiag
The SetOverallRangeEventArgs type exposes the following members.
Fields
 | Name | Description
Public field | NewHigh |
Public field | NewLow |
Back to Top
See Also
SetOverallRangeEventArgs Class


NewHigh Field

SetOverallRangeEventArgs NewHigh Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int NewHigh
public int NewHigh
Public NewHigh As Integer
Public NewHigh As Integer
public:
int NewHigh
public:
int NewHigh
See Also
SetOverallRangeEventArgs Class
SetOverallRangeEventArgs Members


NewLow Field

SetOverallRangeEventArgs NewLow Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int NewLow
public int NewLow
Public NewLow As Integer
Public NewLow As Integer
public:
int NewLow
public:
int NewLow
See Also
SetOverallRangeEventArgs Class
SetOverallRangeEventArgs Members


SetOverallRangeEventArgs Methods

SetOverallRangeEventArgs Methods Debug Diagnostics Tool 2.1 DebugDiag
The SetOverallRangeEventArgs type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
SetOverallRangeEventArgs Class


SetOverallStatusEventArgs Class

SetOverallStatusEventArgs Class Debug Diagnostics Tool 2.1 DebugDiag
Inheritance Hierarchy
Online System Object
Online System EventArgs
DebugDiag.DotNet SetOverallStatusEventArgs

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class SetOverallStatusEventArgs : EventArgs
public class SetOverallStatusEventArgs : EventArgs
Public Class SetOverallStatusEventArgs _
    Inherits EventArgs
Public Class SetOverallStatusEventArgs _
    Inherits EventArgs
public ref class SetOverallStatusEventArgs : public EventArgs
public ref class SetOverallStatusEventArgs : public EventArgs
See Also
SetOverallStatusEventArgs Members


SetOverallStatusEventArgs Members

SetOverallStatusEventArgs Members Debug Diagnostics Tool 2.1 DebugDiag

The SetOverallStatusEventArgs type exposes the following members.
Constructors
 | Name | Description
Public method | SetOverallStatusEventArgs | Initializes a new instance of the SetOverallStatusEventArgs class
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
Fields
 | Name | Description
Public field | NewStatus |
Back to Top
See Also
SetOverallStatusEventArgs Class


SetOverallStatusEventArgs Constructor

SetOverallStatusEventArgs Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the SetOverallStatusEventArgs class

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public SetOverallStatusEventArgs(
    string newStatus
)
public SetOverallStatusEventArgs(
    string newStatus
)
Public Sub New ( _
    newStatus As String _
)
Public Sub New ( _
    newStatus As String _
)
public:
SetOverallStatusEventArgs(
    String^ newStatus
)
public:
SetOverallStatusEventArgs(
    String^ newStatus
)
Parameters
newStatus
Type:   Online System String
See Also
SetOverallStatusEventArgs Class
SetOverallStatusEventArgs Members


SetOverallStatusEventArgs Fields

SetOverallStatusEventArgs Fields Debug Diagnostics Tool 2.1 DebugDiag
The SetOverallStatusEventArgs type exposes the following members.
Fields
 | Name | Description
Public field | NewStatus |
Back to Top
See Also
SetOverallStatusEventArgs Class


NewStatus Field

SetOverallStatusEventArgs NewStatus Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string NewStatus
public string NewStatus
Public NewStatus As String
Public NewStatus As String
public:
String^ NewStatus
public:
String^ NewStatus
See Also
SetOverallStatusEventArgs Class
SetOverallStatusEventArgs Members


SetOverallStatusEventArgs Methods

SetOverallStatusEventArgs Methods Debug Diagnostics Tool 2.1 DebugDiag
The SetOverallStatusEventArgs type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Back to Top
See Also
SetOverallStatusEventArgs Class


DebugDiag.DotNet.AnalysisRules Namespace

DebugDiag.DotNet.AnalysisRules Namespace Debug Diagnostics Tool 2.1 DebugDiag
Classes
 | Class | Description
Public class | AnalysisRuleInfo |
Public class | CodeAnalysisRuleInfo |
Public class | NoValidAnalysisRulesFoundException | Exception thrown whenever a type of dump has no Analysis rules that can be executed to analyze it.
Public class | XamlAnalysisRuleInfo |
Interfaces
 | Interface | Description
Public interface | IAnalysisRuleBase | This is the base interface for all Analysis Rules.
Public interface | IAnalysisRuleMetadata | Use this optional interface to add a category and description for the rule, to be displayed in the UI
Public interface | IExceptionThreadRule | this type of analysis rule only runs against the exception thread in a crash dump
Public interface | IHangDumpRule | This type of analysis rule runs against 1 dump at a time. By default it runs only against *hang* dumps. The user can opt to run this type of hang analysis against all *crash* dumps as well.
Public interface | IHangThreadRule | This type of analysis rule runs against every thread in every hang dump - 1 thread at a time By default it runs only against *hang* dumps. The user can opt to run this type of hang analysis against all *crash* dumps as well.
Public interface | IMultiDumpRule | This type of analysis rule runs against all dumps selected for analysis. Use this interface only if you need to correlate/aggregate info from multiple dumps together in one piece of analysis code (rare), for example to show a trend of memory usage over time using multiple dumps of the same process.
Public interface | IMultiDumpRuleFilter |
Public interface | ISingleDumpRuleFilter |
Enumerations
 | Enumeration | Description
Public enumeration | AnalysisModes | Enumeration of possible Analysis modes
Public enumeration | AnalysisRuleStatus |


AnalysisModes Enumeration

AnalysisModes Enumeration Debug Diagnostics Tool 2.1 DebugDiag
Enumeration of possible Analysis modes

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public enum AnalysisModes
public enum AnalysisModes
Public Enumeration AnalysisModes
Public Enumeration AnalysisModes
public enum class AnalysisModes
public enum class AnalysisModes
Members
Member name | Value | Description
Interactive | 0 | Analysis is being performed with the DebugDiag Analysis UI
Unattended | 1 | Analysis is being performed by an unattended analysis engine
See Also
DebugDiag.DotNet.AnalysisRules Namespace


AnalysisRuleInfo Class

AnalysisRuleInfo Class Debug Diagnostics Tool 2.1 DebugDiag
Inheritance Hierarchy
Online System Object
DebugDiag.DotNet.AnalysisRules AnalysisRuleInfo
DebugDiag.DotNet.AnalysisRules CodeAnalysisRuleInfo
DebugDiag.DotNet.AnalysisRules XamlAnalysisRuleInfo

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public abstract class AnalysisRuleInfo
public abstract class AnalysisRuleInfo
Public MustInherit Class AnalysisRuleInfo
Public MustInherit Class AnalysisRuleInfo
public ref class AnalysisRuleInfo abstract
public ref class AnalysisRuleInfo abstract
See Also
AnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


AnalysisRuleInfo Members

AnalysisRuleInfo Members Debug Diagnostics Tool 2.1 DebugDiag

The AnalysisRuleInfo type exposes the following members.
Constructors
 | Name | Description
Protected method | AnalysisRuleInfo | Initializes a new instance of the AnalysisRuleInfo class
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | WaitForCompletion |
Back to Top
Fields
 | Name | Description
Protected field | _location |
Public field | FilterReason |
Public field | WasFiltered |
Back to Top
Properties
 | Name | Description
Public property | Category |
Public property | Description |
Public property | DisplayName |
Public property | Exception |
Public property | Location |
Public property | RecentDumpFilePath |
Public property | Status |
Back to Top
See Also
AnalysisRuleInfo Class
DebugDiag.DotNet.AnalysisRules Namespace


AnalysisRuleInfo Constructor

AnalysisRuleInfo Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the AnalysisRuleInfo class

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected AnalysisRuleInfo()
protected AnalysisRuleInfo()
Protected Sub New
Protected Sub New
protected:
AnalysisRuleInfo()
protected:
AnalysisRuleInfo()
See Also
AnalysisRuleInfo Class
AnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


AnalysisRuleInfo Fields

AnalysisRuleInfo Fields Debug Diagnostics Tool 2.1 DebugDiag
The AnalysisRuleInfo type exposes the following members.
Fields
 | Name | Description
Protected field | _location |
Public field | FilterReason |
Public field | WasFiltered |
Back to Top
See Also
AnalysisRuleInfo Class
DebugDiag.DotNet.AnalysisRules Namespace


_location Field

AnalysisRuleInfo _location Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected string _location
protected string _location
Protected _location As String
Protected _location As String
protected:
String^ _location
protected:
String^ _location
See Also
AnalysisRuleInfo Class
AnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


FilterReason Field

AnalysisRuleInfo FilterReason Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string FilterReason
public string FilterReason
Public FilterReason As String
Public FilterReason As String
public:
String^ FilterReason
public:
String^ FilterReason
See Also
AnalysisRuleInfo Class
AnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


WasFiltered Field

AnalysisRuleInfo WasFiltered Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool WasFiltered
public bool WasFiltered
Public WasFiltered As Boolean
Public WasFiltered As Boolean
public:
bool WasFiltered
public:
bool WasFiltered
See Also
AnalysisRuleInfo Class
AnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


AnalysisRuleInfo Methods

AnalysisRuleInfo Methods Debug Diagnostics Tool 2.1 DebugDiag
The AnalysisRuleInfo type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | WaitForCompletion |
Back to Top
See Also
AnalysisRuleInfo Class
DebugDiag.DotNet.AnalysisRules Namespace


WaitForCompletion Method

AnalysisRuleInfo WaitForCompletion Method Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool WaitForCompletion(
    int millisecondsTimeout
)
public bool WaitForCompletion(
    int millisecondsTimeout
)
Public Function WaitForCompletion ( _
    millisecondsTimeout As Integer _
) As Boolean
Public Function WaitForCompletion ( _
    millisecondsTimeout As Integer _
) As Boolean
public:
bool WaitForCompletion(
    int millisecondsTimeout
)
public:
bool WaitForCompletion(
    int millisecondsTimeout
)
Parameters
millisecondsTimeout
Type:   Online System Int32
See Also
AnalysisRuleInfo Class
AnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


AnalysisRuleInfo Properties

AnalysisRuleInfo Properties Debug Diagnostics Tool 2.1 DebugDiag
The AnalysisRuleInfo type exposes the following members.
Properties
 | Name | Description
Public property | Category |
Public property | Description |
Public property | DisplayName |
Public property | Exception |
Public property | Location |
Public property | RecentDumpFilePath |
Public property | Status |
Back to Top
See Also
AnalysisRuleInfo Class
DebugDiag.DotNet.AnalysisRules Namespace


Category Property

AnalysisRuleInfo Category Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public virtual string Category { get; }
public virtual string Category { get; }
Public Overridable ReadOnly Property Category As String
    Get
Public Overridable ReadOnly Property Category As String
    Get
public:
virtual property String^ Category {
    String^ get ();
}
public:
virtual property String^ Category {
    String^ get ();
}
See Also
AnalysisRuleInfo Class
AnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


Description Property

AnalysisRuleInfo Description Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public virtual string Description { get; }
public virtual string Description { get; }
Public Overridable ReadOnly Property Description As String
    Get
Public Overridable ReadOnly Property Description As String
    Get
public:
virtual property String^ Description {
    String^ get ();
}
public:
virtual property String^ Description {
    String^ get ();
}
See Also
AnalysisRuleInfo Class
AnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


DisplayName Property

AnalysisRuleInfo DisplayName Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public virtual string DisplayName { get; }
public virtual string DisplayName { get; }
Public Overridable ReadOnly Property DisplayName As String
    Get
Public Overridable ReadOnly Property DisplayName As String
    Get
public:
virtual property String^ DisplayName {
    String^ get ();
}
public:
virtual property String^ DisplayName {
    String^ get ();
}
See Also
AnalysisRuleInfo Class
AnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


Exception Property

AnalysisRuleInfo Exception Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public Exception Exception { get; set; }
public Exception Exception { get; set; }
Public Property Exception As Exception
    Get
    Set
Public Property Exception As Exception
    Get
    Set
public:
property Exception^ Exception {
    Exception^ get ();
    void set (Exception^ value);
}
public:
property Exception^ Exception {
    Exception^ get ();
    void set (Exception^ value);
}
See Also
AnalysisRuleInfo Class
AnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


Location Property

AnalysisRuleInfo Location Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string Location { get; }
public string Location { get; }
Public ReadOnly Property Location As String
    Get
Public ReadOnly Property Location As String
    Get
public:
property String^ Location {
    String^ get ();
}
public:
property String^ Location {
    String^ get ();
}
See Also
AnalysisRuleInfo Class
AnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


RecentDumpFilePath Property

AnalysisRuleInfo RecentDumpFilePath Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string RecentDumpFilePath { get; set; }
public string RecentDumpFilePath { get; set; }
Public Property RecentDumpFilePath As String
    Get
    Set
Public Property RecentDumpFilePath As String
    Get
    Set
public:
property String^ RecentDumpFilePath {
    String^ get ();
    void set (String^ value);
}
public:
property String^ RecentDumpFilePath {
    String^ get ();
    void set (String^ value);
}
See Also
AnalysisRuleInfo Class
AnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


Status Property

AnalysisRuleInfo Status Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public AnalysisRuleStatus Status { get; set; }
public AnalysisRuleStatus Status { get; set; }
Public Property Status As AnalysisRuleStatus
    Get
    Set
Public Property Status As AnalysisRuleStatus
    Get
    Set
public:
property AnalysisRuleStatus Status {
    AnalysisRuleStatus get ();
    void set (AnalysisRuleStatus value);
}
public:
property AnalysisRuleStatus Status {
    AnalysisRuleStatus get ();
    void set (AnalysisRuleStatus value);
}
See Also
AnalysisRuleInfo Class
AnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


AnalysisRuleStatus Enumeration

AnalysisRuleStatus Enumeration Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public enum AnalysisRuleStatus
public enum AnalysisRuleStatus
Public Enumeration AnalysisRuleStatus
Public Enumeration AnalysisRuleStatus
public enum class AnalysisRuleStatus
public enum class AnalysisRuleStatus
Members
Member name | Value | Description
NotStarted | 0 |
CheckingFilter | 1 |
Running | 2 |
Complete | 3 |
See Also
DebugDiag.DotNet.AnalysisRules Namespace


CodeAnalysisRuleInfo Class

CodeAnalysisRuleInfo Class Debug Diagnostics Tool 2.1 DebugDiag
Inheritance Hierarchy
Online System Object
DebugDiag.DotNet.AnalysisRules AnalysisRuleInfo
DebugDiag.DotNet.AnalysisRules CodeAnalysisRuleInfo

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class CodeAnalysisRuleInfo : AnalysisRuleInfo
public class CodeAnalysisRuleInfo : AnalysisRuleInfo
Public Class CodeAnalysisRuleInfo _
    Inherits AnalysisRuleInfo
Public Class CodeAnalysisRuleInfo _
    Inherits AnalysisRuleInfo
public ref class CodeAnalysisRuleInfo : public AnalysisRuleInfo
public ref class CodeAnalysisRuleInfo : public AnalysisRuleInfo
See Also
CodeAnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


CodeAnalysisRuleInfo Members

CodeAnalysisRuleInfo Members Debug Diagnostics Tool 2.1 DebugDiag

The CodeAnalysisRuleInfo type exposes the following members.
Constructors
 | Name | Description
Public method | CodeAnalysisRuleInfo | Initializes a new instance of the CodeAnalysisRuleInfo class
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | WaitForCompletion | (Inherited from AnalysisRuleInfo.)
Back to Top
Fields
 | Name | Description
Protected field | _location | (Inherited from AnalysisRuleInfo.)
Public field | FilterReason | (Inherited from AnalysisRuleInfo.)
Public field | WasFiltered | (Inherited from AnalysisRuleInfo.)
Back to Top
Properties
 | Name | Description
Public property | AnalysisRuleInstance |
Public property | AnalysisRuleType |
Public property | Category | (Overrides AnalysisRuleInfo Category.)
Public property | Description | (Overrides AnalysisRuleInfo Description.)
Public property | DisplayName | (Overrides AnalysisRuleInfo DisplayName.)
Public property | Exception | (Inherited from AnalysisRuleInfo.)
Public property | Location | (Inherited from AnalysisRuleInfo.)
Public property | RecentDumpFilePath | (Inherited from AnalysisRuleInfo.)
Public property | Status | (Inherited from AnalysisRuleInfo.)
Back to Top
See Also
CodeAnalysisRuleInfo Class
DebugDiag.DotNet.AnalysisRules Namespace


CodeAnalysisRuleInfo Constructor

CodeAnalysisRuleInfo Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the CodeAnalysisRuleInfo class

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public CodeAnalysisRuleInfo(
    Type analysisRuleType,
    string originalLocation
)
public CodeAnalysisRuleInfo(
    Type analysisRuleType,
    string originalLocation
)
Public Sub New ( _
    analysisRuleType As Type, _
    originalLocation As String _
)
Public Sub New ( _
    analysisRuleType As Type, _
    originalLocation As String _
)
public:
CodeAnalysisRuleInfo(
    Type^ analysisRuleType,
    String^ originalLocation
)
public:
CodeAnalysisRuleInfo(
    Type^ analysisRuleType,
    String^ originalLocation
)
Parameters
analysisRuleType
Type:   Online System Type
originalLocation
Type:   Online System String
See Also
CodeAnalysisRuleInfo Class
CodeAnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


CodeAnalysisRuleInfo Fields

CodeAnalysisRuleInfo Fields Debug Diagnostics Tool 2.1 DebugDiag
The CodeAnalysisRuleInfo type exposes the following members.
Fields
 | Name | Description
Protected field | _location | (Inherited from AnalysisRuleInfo.)
Public field | FilterReason | (Inherited from AnalysisRuleInfo.)
Public field | WasFiltered | (Inherited from AnalysisRuleInfo.)
Back to Top
See Also
CodeAnalysisRuleInfo Class
DebugDiag.DotNet.AnalysisRules Namespace


CodeAnalysisRuleInfo Methods

CodeAnalysisRuleInfo Methods Debug Diagnostics Tool 2.1 DebugDiag
The CodeAnalysisRuleInfo type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | WaitForCompletion | (Inherited from AnalysisRuleInfo.)
Back to Top
See Also
CodeAnalysisRuleInfo Class
DebugDiag.DotNet.AnalysisRules Namespace


CodeAnalysisRuleInfo Properties

CodeAnalysisRuleInfo Properties Debug Diagnostics Tool 2.1 DebugDiag
The CodeAnalysisRuleInfo type exposes the following members.
Properties
 | Name | Description
Public property | AnalysisRuleInstance |
Public property | AnalysisRuleType |
Public property | Category | (Overrides AnalysisRuleInfo Category.)
Public property | Description | (Overrides AnalysisRuleInfo Description.)
Public property | DisplayName | (Overrides AnalysisRuleInfo DisplayName.)
Public property | Exception | (Inherited from AnalysisRuleInfo.)
Public property | Location | (Inherited from AnalysisRuleInfo.)
Public property | RecentDumpFilePath | (Inherited from AnalysisRuleInfo.)
Public property | Status | (Inherited from AnalysisRuleInfo.)
Back to Top
See Also
CodeAnalysisRuleInfo Class
DebugDiag.DotNet.AnalysisRules Namespace


AnalysisRuleInstance Property

CodeAnalysisRuleInfo AnalysisRuleInstance Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public IAnalysisRuleBase AnalysisRuleInstance { get; }
public IAnalysisRuleBase AnalysisRuleInstance { get; }
Public ReadOnly Property AnalysisRuleInstance As IAnalysisRuleBase
    Get
Public ReadOnly Property AnalysisRuleInstance As IAnalysisRuleBase
    Get
public:
property IAnalysisRuleBase^ AnalysisRuleInstance {
    IAnalysisRuleBase^ get ();
}
public:
property IAnalysisRuleBase^ AnalysisRuleInstance {
    IAnalysisRuleBase^ get ();
}
See Also
CodeAnalysisRuleInfo Class
CodeAnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


AnalysisRuleType Property

CodeAnalysisRuleInfo AnalysisRuleType Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public Type AnalysisRuleType { get; }
public Type AnalysisRuleType { get; }
Public ReadOnly Property AnalysisRuleType As Type
    Get
Public ReadOnly Property AnalysisRuleType As Type
    Get
public:
property Type^ AnalysisRuleType {
    Type^ get ();
}
public:
property Type^ AnalysisRuleType {
    Type^ get ();
}
See Also
CodeAnalysisRuleInfo Class
CodeAnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


Category Property

CodeAnalysisRuleInfo Category Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public override string Category { get; }
public override string Category { get; }
Public Overrides ReadOnly Property Category As String
    Get
Public Overrides ReadOnly Property Category As String
    Get
public:
virtual property String^ Category {
    String^ get () override;
}
public:
virtual property String^ Category {
    String^ get () override;
}
See Also
CodeAnalysisRuleInfo Class
CodeAnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


Description Property

CodeAnalysisRuleInfo Description Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public override string Description { get; }
public override string Description { get; }
Public Overrides ReadOnly Property Description As String
    Get
Public Overrides ReadOnly Property Description As String
    Get
public:
virtual property String^ Description {
    String^ get () override;
}
public:
virtual property String^ Description {
    String^ get () override;
}
See Also
CodeAnalysisRuleInfo Class
CodeAnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


DisplayName Property

CodeAnalysisRuleInfo DisplayName Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public override string DisplayName { get; }
public override string DisplayName { get; }
Public Overrides ReadOnly Property DisplayName As String
    Get
Public Overrides ReadOnly Property DisplayName As String
    Get
public:
virtual property String^ DisplayName {
    String^ get () override;
}
public:
virtual property String^ DisplayName {
    String^ get () override;
}
See Also
CodeAnalysisRuleInfo Class
CodeAnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


IAnalysisRuleBase Interface

IAnalysisRuleBase Interface Debug Diagnostics Tool 2.1 DebugDiag
This is the base interface for all Analysis Rules.

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IAnalysisRuleBase
public interface IAnalysisRuleBase
Public Interface IAnalysisRuleBase
Public Interface IAnalysisRuleBase
public interface class IAnalysisRuleBase
public interface class IAnalysisRuleBase
See Also
DebugDiag.DotNet.AnalysisRules Namespace


IAnalysisRuleMetadata Interface

IAnalysisRuleMetadata Interface Debug Diagnostics Tool 2.1 DebugDiag
Use this optional interface to add a category and description for the rule, to be displayed in the UI

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IAnalysisRuleMetadata
public interface IAnalysisRuleMetadata
Public Interface IAnalysisRuleMetadata
Public Interface IAnalysisRuleMetadata
public interface class IAnalysisRuleMetadata
public interface class IAnalysisRuleMetadata
See Also
IAnalysisRuleMetadata Members
DebugDiag.DotNet.AnalysisRules Namespace


IAnalysisRuleMetadata Members

IAnalysisRuleMetadata Members Debug Diagnostics Tool 2.1 DebugDiag

The IAnalysisRuleMetadata type exposes the following members.
Properties
 | Name | Description
Public property | Category | Provides access to the category where the rule belongs. Examples Crash/Hang Analyzers, Performance Analyzers, etc...
Public property | Description | Provides access to the description for the Analysis Rule that appears on the Analyzer UI.
Back to Top
See Also
IAnalysisRuleMetadata Interface
DebugDiag.DotNet.AnalysisRules Namespace


IAnalysisRuleMetadata Properties

IAnalysisRuleMetadata Properties Debug Diagnostics Tool 2.1 DebugDiag
The IAnalysisRuleMetadata type exposes the following members.
Properties
 | Name | Description
Public property | Category | Provides access to the category where the rule belongs. Examples Crash/Hang Analyzers, Performance Analyzers, etc...
Public property | Description | Provides access to the description for the Analysis Rule that appears on the Analyzer UI.
Back to Top
See Also
IAnalysisRuleMetadata Interface
DebugDiag.DotNet.AnalysisRules Namespace


Category Property

IAnalysisRuleMetadata Category Property Debug Diagnostics Tool 2.1 DebugDiag
Provides access to the category where the rule belongs. Examples Crash/Hang Analyzers, Performance Analyzers, etc...

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string Category { get; }
string Category { get; }
ReadOnly Property Category As String
    Get
ReadOnly Property Category As String
    Get
property String^ Category {
    String^ get ();
}
property String^ Category {
    String^ get ();
}
See Also
IAnalysisRuleMetadata Interface
IAnalysisRuleMetadata Members
DebugDiag.DotNet.AnalysisRules Namespace


Description Property

IAnalysisRuleMetadata Description Property Debug Diagnostics Tool 2.1 DebugDiag
Provides access to the description for the Analysis Rule that appears on the Analyzer UI.

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
string Description { get; }
string Description { get; }
ReadOnly Property Description As String
    Get
ReadOnly Property Description As String
    Get
property String^ Description {
    String^ get ();
}
property String^ Description {
    String^ get ();
}
See Also
IAnalysisRuleMetadata Interface
IAnalysisRuleMetadata Members
DebugDiag.DotNet.AnalysisRules Namespace


IExceptionThreadRule Interface

IExceptionThreadRule Interface Debug Diagnostics Tool 2.1 DebugDiag
this type of analysis rule only runs against the exception thread in a crash dump

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IExceptionThreadRule : IAnalysisRuleBase
public interface IExceptionThreadRule : IAnalysisRuleBase
Public Interface IExceptionThreadRule _
    Inherits IAnalysisRuleBase
Public Interface IExceptionThreadRule _
    Inherits IAnalysisRuleBase
public interface class IExceptionThreadRule : IAnalysisRuleBase
public interface class IExceptionThreadRule : IAnalysisRuleBase
See Also
IExceptionThreadRule Members
DebugDiag.DotNet.AnalysisRules Namespace


IExceptionThreadRule Members

IExceptionThreadRule Members Debug Diagnostics Tool 2.1 DebugDiag

The IExceptionThreadRule type exposes the following members.
Methods
 | Name | Description
Public method | RunAnalysisRule | Main method executed when the analysis rule starts.
Back to Top
See Also
IExceptionThreadRule Interface
DebugDiag.DotNet.AnalysisRules Namespace


IExceptionThreadRule Methods

IExceptionThreadRule Methods Debug Diagnostics Tool 2.1 DebugDiag
The IExceptionThreadRule type exposes the following members.
Methods
 | Name | Description
Public method | RunAnalysisRule | Main method executed when the analysis rule starts.
Back to Top
See Also
IExceptionThreadRule Interface
DebugDiag.DotNet.AnalysisRules Namespace


RunAnalysisRule Method

IExceptionThreadRule RunAnalysisRule Method Debug Diagnostics Tool 2.1 DebugDiag
Main method executed when the analysis rule starts.

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
void RunAnalysisRule(
    NetScriptManager manager,
    NetDbgObj debugger,
    NetDbgThread exceptionThread,
    NetDbgException nativeException,
    ClrException managedException,
    NetProgress progress
)
void RunAnalysisRule(
    NetScriptManager manager,
    NetDbgObj debugger,
    NetDbgThread exceptionThread,
    NetDbgException nativeException,
    ClrException managedException,
    NetProgress progress
)
Sub RunAnalysisRule ( _
    manager As NetScriptManager, _
    debugger As NetDbgObj, _
    exceptionThread As NetDbgThread, _
    nativeException As NetDbgException, _
    managedException As ClrException, _
    progress As NetProgress _
)
Sub RunAnalysisRule ( _
    manager As NetScriptManager, _
    debugger As NetDbgObj, _
    exceptionThread As NetDbgThread, _
    nativeException As NetDbgException, _
    managedException As ClrException, _
    progress As NetProgress _
)
void RunAnalysisRule(
    NetScriptManager^ manager,
    NetDbgObj^ debugger,
    NetDbgThread^ exceptionThread,
    NetDbgException^ nativeException,
    ClrException^ managedException,
    NetProgress^ progress
)
void RunAnalysisRule(
    NetScriptManager^ manager,
    NetDbgObj^ debugger,
    NetDbgThread^ exceptionThread,
    NetDbgException^ nativeException,
    ClrException^ managedException,
    NetProgress^ progress
)
Parameters
manager
Type: DebugDiag.DotNet NetScriptManager
Used by all analysis rule interfaces. Allows rules to write results to the report file.
debugger
Type: DebugDiag.DotNet NetDbgObj
This is the entry point which exposes all the underlying debugger functionality for a given dump file.
            One NetDbgObj instance “points to” one dump file.
exceptionThread
Type: DebugDiag.DotNet NetDbgThread
Provides access to the thread information where the exception was thrown.
nativeException
Type: DebugDiag.DotNet NetDbgException
Provides access to the native Exception object that has been thrown on the thread.
managedException
Type: ClrException
Provides access to the managed Exception object that has been thrown on the thread if any.
progress
Type: DebugDiag.DotNet NetProgress
Access to Progress reporting features useful for displaying the progress of an analysis to users.
See Also
IExceptionThreadRule Interface
IExceptionThreadRule Members
DebugDiag.DotNet.AnalysisRules Namespace


IHangDumpRule Interface

IHangDumpRule Interface Debug Diagnostics Tool 2.1 DebugDiag
This type of analysis rule runs against 1 dump at a time. By default it runs only against *hang* dumps. The user can opt to run this type of hang analysis against all *crash* dumps as well.

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IHangDumpRule : IAnalysisRuleBase
public interface IHangDumpRule : IAnalysisRuleBase
Public Interface IHangDumpRule _
    Inherits IAnalysisRuleBase
Public Interface IHangDumpRule _
    Inherits IAnalysisRuleBase
public interface class IHangDumpRule : IAnalysisRuleBase
public interface class IHangDumpRule : IAnalysisRuleBase
See Also
IHangDumpRule Members
DebugDiag.DotNet.AnalysisRules Namespace


IHangDumpRule Members

IHangDumpRule Members Debug Diagnostics Tool 2.1 DebugDiag

The IHangDumpRule type exposes the following members.
Methods
 | Name | Description
Public method | RunAnalysisRule | Main method executed when the analysis rule starts.
Back to Top
See Also
IHangDumpRule Interface
DebugDiag.DotNet.AnalysisRules Namespace


IHangDumpRule Methods

IHangDumpRule Methods Debug Diagnostics Tool 2.1 DebugDiag
The IHangDumpRule type exposes the following members.
Methods
 | Name | Description
Public method | RunAnalysisRule | Main method executed when the analysis rule starts.
Back to Top
See Also
IHangDumpRule Interface
DebugDiag.DotNet.AnalysisRules Namespace


RunAnalysisRule Method

IHangDumpRule RunAnalysisRule Method Debug Diagnostics Tool 2.1 DebugDiag
Main method executed when the analysis rule starts.

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
void RunAnalysisRule(
    NetScriptManager manager,
    NetDbgObj debugger,
    NetProgress progress
)
void RunAnalysisRule(
    NetScriptManager manager,
    NetDbgObj debugger,
    NetProgress progress
)
Sub RunAnalysisRule ( _
    manager As NetScriptManager, _
    debugger As NetDbgObj, _
    progress As NetProgress _
)
Sub RunAnalysisRule ( _
    manager As NetScriptManager, _
    debugger As NetDbgObj, _
    progress As NetProgress _
)
void RunAnalysisRule(
    NetScriptManager^ manager,
    NetDbgObj^ debugger,
    NetProgress^ progress
)
void RunAnalysisRule(
    NetScriptManager^ manager,
    NetDbgObj^ debugger,
    NetProgress^ progress
)
Parameters
manager
Type: DebugDiag.DotNet NetScriptManager
Used by all analysis rule interfaces.  Allows rules to write results to the report file.
debugger
Type: DebugDiag.DotNet NetDbgObj
This is the entry point which exposes all the underlying debugger functionality for a given dump file.
            One NetDbgObj instance “points to” one dump file.
progress
Type: DebugDiag.DotNet NetProgress
Access to Progress reporting features useful for displaying the progress of an analysis to users.
See Also
IHangDumpRule Interface
IHangDumpRule Members
DebugDiag.DotNet.AnalysisRules Namespace


IHangThreadRule Interface

IHangThreadRule Interface Debug Diagnostics Tool 2.1 DebugDiag
This type of analysis rule runs against every thread in every hang dump - 1 thread at a time By default it runs only against *hang* dumps. The user can opt to run this type of hang analysis against all *crash* dumps as well.

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IHangThreadRule : IAnalysisRuleBase
public interface IHangThreadRule : IAnalysisRuleBase
Public Interface IHangThreadRule _
    Inherits IAnalysisRuleBase
Public Interface IHangThreadRule _
    Inherits IAnalysisRuleBase
public interface class IHangThreadRule : IAnalysisRuleBase
public interface class IHangThreadRule : IAnalysisRuleBase
See Also
IHangThreadRule Members
DebugDiag.DotNet.AnalysisRules Namespace


IHangThreadRule Members

IHangThreadRule Members Debug Diagnostics Tool 2.1 DebugDiag

The IHangThreadRule type exposes the following members.
Methods
 | Name | Description
Public method | RunAnalysisRule | Main method executed when the analysis rule starts.
Back to Top
See Also
IHangThreadRule Interface
DebugDiag.DotNet.AnalysisRules Namespace


IHangThreadRule Methods

IHangThreadRule Methods Debug Diagnostics Tool 2.1 DebugDiag
The IHangThreadRule type exposes the following members.
Methods
 | Name | Description
Public method | RunAnalysisRule | Main method executed when the analysis rule starts.
Back to Top
See Also
IHangThreadRule Interface
DebugDiag.DotNet.AnalysisRules Namespace


RunAnalysisRule Method

IHangThreadRule RunAnalysisRule Method Debug Diagnostics Tool 2.1 DebugDiag
Main method executed when the analysis rule starts.

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
void RunAnalysisRule(
    NetScriptManager manager,
    NetDbgObj debugger,
    NetDbgThread thread,
    NetProgress progress
)
void RunAnalysisRule(
    NetScriptManager manager,
    NetDbgObj debugger,
    NetDbgThread thread,
    NetProgress progress
)
Sub RunAnalysisRule ( _
    manager As NetScriptManager, _
    debugger As NetDbgObj, _
    thread As NetDbgThread, _
    progress As NetProgress _
)
Sub RunAnalysisRule ( _
    manager As NetScriptManager, _
    debugger As NetDbgObj, _
    thread As NetDbgThread, _
    progress As NetProgress _
)
void RunAnalysisRule(
    NetScriptManager^ manager,
    NetDbgObj^ debugger,
    NetDbgThread^ thread,
    NetProgress^ progress
)
void RunAnalysisRule(
    NetScriptManager^ manager,
    NetDbgObj^ debugger,
    NetDbgThread^ thread,
    NetProgress^ progress
)
Parameters
manager
Type: DebugDiag.DotNet NetScriptManager
Used by all analysis rule interfaces. Allows rules to write results to the report file.
debugger
Type: DebugDiag.DotNet NetDbgObj
This is the entry point which exposes all the underlying debugger functionality for a given dump file.
            One NetDbgObj instance “points to” one dump file.
thread
Type: DebugDiag.DotNet NetDbgThread
Provides access to the thread information for each thread in a dump.
progress
Type: DebugDiag.DotNet NetProgress
Access to Progress reporting features useful for displaying the progress of an analysis to users.
See Also
IHangThreadRule Interface
IHangThreadRule Members
DebugDiag.DotNet.AnalysisRules Namespace


IMultiDumpRule Interface

IMultiDumpRule Interface Debug Diagnostics Tool 2.1 DebugDiag
This type of analysis rule runs against all dumps selected for analysis. Use this interface only if you need to correlate/aggregate info from multiple dumps together in one piece of analysis code (rare), for example to show a trend of memory usage over time using multiple dumps of the same process.

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IMultiDumpRule : IAnalysisRuleBase
public interface IMultiDumpRule : IAnalysisRuleBase
Public Interface IMultiDumpRule _
    Inherits IAnalysisRuleBase
Public Interface IMultiDumpRule _
    Inherits IAnalysisRuleBase
public interface class IMultiDumpRule : IAnalysisRuleBase
public interface class IMultiDumpRule : IAnalysisRuleBase
See Also
IMultiDumpRule Members
DebugDiag.DotNet.AnalysisRules Namespace


IMultiDumpRule Members

IMultiDumpRule Members Debug Diagnostics Tool 2.1 DebugDiag

The IMultiDumpRule type exposes the following members.
Methods
 | Name | Description
Public method | RunAnalysisRule | Main method executed when the analysis rule starts.
Back to Top
See Also
IMultiDumpRule Interface
DebugDiag.DotNet.AnalysisRules Namespace


IMultiDumpRule Methods

IMultiDumpRule Methods Debug Diagnostics Tool 2.1 DebugDiag
The IMultiDumpRule type exposes the following members.
Methods
 | Name | Description
Public method | RunAnalysisRule | Main method executed when the analysis rule starts.
Back to Top
See Also
IMultiDumpRule Interface
DebugDiag.DotNet.AnalysisRules Namespace


RunAnalysisRule Method

IMultiDumpRule RunAnalysisRule Method Debug Diagnostics Tool 2.1 DebugDiag
Main method executed when the analysis rule starts.

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
void RunAnalysisRule(
    NetScriptManager manager,
    NetProgress progress
)
void RunAnalysisRule(
    NetScriptManager manager,
    NetProgress progress
)
Sub RunAnalysisRule ( _
    manager As NetScriptManager, _
    progress As NetProgress _
)
Sub RunAnalysisRule ( _
    manager As NetScriptManager, _
    progress As NetProgress _
)
void RunAnalysisRule(
    NetScriptManager^ manager,
    NetProgress^ progress
)
void RunAnalysisRule(
    NetScriptManager^ manager,
    NetProgress^ progress
)
Parameters
manager
Type: DebugDiag.DotNet NetScriptManager
Used by all analysis rule interfaces.  Allows rules to write results to the report file.
            Also provides access to all the dumps and debuggers for processing multiple dumps in an IMultiDumpRule.
progress
Type: DebugDiag.DotNet NetProgress
Access to Progress reporting features useful for displaying the progress of an analysis to users
See Also
IMultiDumpRule Interface
IMultiDumpRule Members
DebugDiag.DotNet.AnalysisRules Namespace


IMultiDumpRuleFilter Interface

IMultiDumpRuleFilter Interface Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface IMultiDumpRuleFilter
public interface IMultiDumpRuleFilter
Public Interface IMultiDumpRuleFilter
Public Interface IMultiDumpRuleFilter
public interface class IMultiDumpRuleFilter
public interface class IMultiDumpRuleFilter
See Also
IMultiDumpRuleFilter Members
DebugDiag.DotNet.AnalysisRules Namespace


IMultiDumpRuleFilter Members

IMultiDumpRuleFilter Members Debug Diagnostics Tool 2.1 DebugDiag

The IMultiDumpRuleFilter type exposes the following members.
Methods
 | Name | Description
Public method | ShouldRunAnalysis |
Back to Top
See Also
IMultiDumpRuleFilter Interface
DebugDiag.DotNet.AnalysisRules Namespace


IMultiDumpRuleFilter Methods

IMultiDumpRuleFilter Methods Debug Diagnostics Tool 2.1 DebugDiag
The IMultiDumpRuleFilter type exposes the following members.
Methods
 | Name | Description
Public method | ShouldRunAnalysis |
Back to Top
See Also
IMultiDumpRuleFilter Interface
DebugDiag.DotNet.AnalysisRules Namespace


ShouldRunAnalysis Method

IMultiDumpRuleFilter ShouldRunAnalysis Method Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
bool ShouldRunAnalysis(
    NetScriptManager manager,
    AnalysisModes mode,
    ref string filterReason
)
bool ShouldRunAnalysis(
    NetScriptManager manager,
    AnalysisModes mode,
    ref string filterReason
)
Function ShouldRunAnalysis ( _
    manager As NetScriptManager, _
    mode As AnalysisModes, _
    ByRef filterReason As String _
) As Boolean
Function ShouldRunAnalysis ( _
    manager As NetScriptManager, _
    mode As AnalysisModes, _
    ByRef filterReason As String _
) As Boolean
bool ShouldRunAnalysis(
    NetScriptManager^ manager,
    AnalysisModes mode,
    String^% filterReason
)
bool ShouldRunAnalysis(
    NetScriptManager^ manager,
    AnalysisModes mode,
    String^% filterReason
)
Parameters
manager
Type: DebugDiag.DotNet NetScriptManager
mode
Type: DebugDiag.DotNet.AnalysisRules AnalysisModes
filterReason
Type:   Online System String
See Also
IMultiDumpRuleFilter Interface
IMultiDumpRuleFilter Members
DebugDiag.DotNet.AnalysisRules Namespace


ISingleDumpRuleFilter Interface

ISingleDumpRuleFilter Interface Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public interface ISingleDumpRuleFilter
public interface ISingleDumpRuleFilter
Public Interface ISingleDumpRuleFilter
Public Interface ISingleDumpRuleFilter
public interface class ISingleDumpRuleFilter
public interface class ISingleDumpRuleFilter
See Also
ISingleDumpRuleFilter Members
DebugDiag.DotNet.AnalysisRules Namespace


ISingleDumpRuleFilter Members

ISingleDumpRuleFilter Members Debug Diagnostics Tool 2.1 DebugDiag

The ISingleDumpRuleFilter type exposes the following members.
Methods
 | Name | Description
Public method | ShouldRunAnalysis |
Back to Top
See Also
ISingleDumpRuleFilter Interface
DebugDiag.DotNet.AnalysisRules Namespace


ISingleDumpRuleFilter Methods

ISingleDumpRuleFilter Methods Debug Diagnostics Tool 2.1 DebugDiag
The ISingleDumpRuleFilter type exposes the following members.
Methods
 | Name | Description
Public method | ShouldRunAnalysis |
Back to Top
See Also
ISingleDumpRuleFilter Interface
DebugDiag.DotNet.AnalysisRules Namespace


ShouldRunAnalysis Method

ISingleDumpRuleFilter ShouldRunAnalysis Method Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
bool ShouldRunAnalysis(
    NetDbgObj debugger,
    AnalysisModes mode,
    ref string filterReason
)
bool ShouldRunAnalysis(
    NetDbgObj debugger,
    AnalysisModes mode,
    ref string filterReason
)
Function ShouldRunAnalysis ( _
    debugger As NetDbgObj, _
    mode As AnalysisModes, _
    ByRef filterReason As String _
) As Boolean
Function ShouldRunAnalysis ( _
    debugger As NetDbgObj, _
    mode As AnalysisModes, _
    ByRef filterReason As String _
) As Boolean
bool ShouldRunAnalysis(
    NetDbgObj^ debugger,
    AnalysisModes mode,
    String^% filterReason
)
bool ShouldRunAnalysis(
    NetDbgObj^ debugger,
    AnalysisModes mode,
    String^% filterReason
)
Parameters
debugger
Type: DebugDiag.DotNet NetDbgObj
mode
Type: DebugDiag.DotNet.AnalysisRules AnalysisModes
filterReason
Type:   Online System String
See Also
ISingleDumpRuleFilter Interface
ISingleDumpRuleFilter Members
DebugDiag.DotNet.AnalysisRules Namespace


NoValidAnalysisRulesFoundException Class

NoValidAnalysisRulesFoundException Class Debug Diagnostics Tool 2.1 DebugDiag
Exception thrown whenever a type of dump has no Analysis rules that can be executed to analyze it.
Inheritance Hierarchy
Online System Object
Online System Exception
DebugDiag.DotNet.AnalysisRules NoValidAnalysisRulesFoundException

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class NoValidAnalysisRulesFoundException : Exception
public class NoValidAnalysisRulesFoundException : Exception
Public Class NoValidAnalysisRulesFoundException _
    Inherits Exception
Public Class NoValidAnalysisRulesFoundException _
    Inherits Exception
public ref class NoValidAnalysisRulesFoundException : public Exception
public ref class NoValidAnalysisRulesFoundException : public Exception
See Also
NoValidAnalysisRulesFoundException Members
DebugDiag.DotNet.AnalysisRules Namespace


NoValidAnalysisRulesFoundException Members

NoValidAnalysisRulesFoundException Members Debug Diagnostics Tool 2.1 DebugDiag

The NoValidAnalysisRulesFoundException type exposes the following members.
Constructors
 | Name | Description
Public method | NoValidAnalysisRulesFoundException | Default Constructor
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetBaseException | When overridden in a derived class, returns the Online Exception that is the root cause of one or more subsequent exceptions. (Inherited from Online Exception.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetObjectData | When overridden in a derived class, sets the Online SerializationInfo with information about the exception. (Inherited from Online Exception.)
Public method | Online GetType | Gets the runtime type of the current instance. (Inherited from Online Exception.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Creates and returns a string representation of the current exception. (Inherited from Online Exception.)
Back to Top
Properties
 | Name | Description
Public property | Online Data | Gets a collection of key/value pairs that provide additional user-defined information about the exception. (Inherited from Online Exception.)
Public property | Online HelpLink | Gets or sets a link to the help file associated with this exception. (Inherited from Online Exception.)
Protected property | Online HResult | Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception. (Inherited from Online Exception.)
Public property | Online InnerException | Gets the Online Exception instance that caused the current exception. (Inherited from Online Exception.)
Public property | Online Message | Gets a message that describes the current exception. (Inherited from Online Exception.)
Public property | Online Source | Gets or sets the name of the application or the object that causes the error. (Inherited from Online Exception.)
Public property | Online StackTrace | Gets a string representation of the immediate frames on the call stack. (Inherited from Online Exception.)
Public property | Online TargetSite | Gets the method that throws the current exception. (Inherited from Online Exception.)
Back to Top
Events
 | Name | Description
Protected event | Online SerializeObjectState | Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception. (Inherited from Online Exception.)
Back to Top
See Also
NoValidAnalysisRulesFoundException Class
DebugDiag.DotNet.AnalysisRules Namespace


NoValidAnalysisRulesFoundException Constructor

NoValidAnalysisRulesFoundException Constructor Debug Diagnostics Tool 2.1 DebugDiag
Default Constructor

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public NoValidAnalysisRulesFoundException(
    string message
)
public NoValidAnalysisRulesFoundException(
    string message
)
Public Sub New ( _
    message As String _
)
Public Sub New ( _
    message As String _
)
public:
NoValidAnalysisRulesFoundException(
    String^ message
)
public:
NoValidAnalysisRulesFoundException(
    String^ message
)
Parameters
message
Type:   Online System String
Exception message
See Also
NoValidAnalysisRulesFoundException Class
NoValidAnalysisRulesFoundException Members
DebugDiag.DotNet.AnalysisRules Namespace


NoValidAnalysisRulesFoundException Methods

NoValidAnalysisRulesFoundException Methods Debug Diagnostics Tool 2.1 DebugDiag
The NoValidAnalysisRulesFoundException type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetBaseException | When overridden in a derived class, returns the Online Exception that is the root cause of one or more subsequent exceptions. (Inherited from Online Exception.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetObjectData | When overridden in a derived class, sets the Online SerializationInfo with information about the exception. (Inherited from Online Exception.)
Public method | Online GetType | Gets the runtime type of the current instance. (Inherited from Online Exception.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Creates and returns a string representation of the current exception. (Inherited from Online Exception.)
Back to Top
See Also
NoValidAnalysisRulesFoundException Class
DebugDiag.DotNet.AnalysisRules Namespace


NoValidAnalysisRulesFoundException Properties

NoValidAnalysisRulesFoundException Properties Debug Diagnostics Tool 2.1 DebugDiag
The NoValidAnalysisRulesFoundException type exposes the following members.
Properties
 | Name | Description
Public property | Online Data | Gets a collection of key/value pairs that provide additional user-defined information about the exception. (Inherited from Online Exception.)
Public property | Online HelpLink | Gets or sets a link to the help file associated with this exception. (Inherited from Online Exception.)
Protected property | Online HResult | Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception. (Inherited from Online Exception.)
Public property | Online InnerException | Gets the Online Exception instance that caused the current exception. (Inherited from Online Exception.)
Public property | Online Message | Gets a message that describes the current exception. (Inherited from Online Exception.)
Public property | Online Source | Gets or sets the name of the application or the object that causes the error. (Inherited from Online Exception.)
Public property | Online StackTrace | Gets a string representation of the immediate frames on the call stack. (Inherited from Online Exception.)
Public property | Online TargetSite | Gets the method that throws the current exception. (Inherited from Online Exception.)
Back to Top
See Also
NoValidAnalysisRulesFoundException Class
DebugDiag.DotNet.AnalysisRules Namespace


NoValidAnalysisRulesFoundException Events

NoValidAnalysisRulesFoundException Events Debug Diagnostics Tool 2.1 DebugDiag
The NoValidAnalysisRulesFoundException type exposes the following members.
Events
 | Name | Description
Protected event | Online SerializeObjectState | Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception. (Inherited from Online Exception.)
Back to Top
See Also
NoValidAnalysisRulesFoundException Class
DebugDiag.DotNet.AnalysisRules Namespace


XamlAnalysisRuleInfo Class

XamlAnalysisRuleInfo Class Debug Diagnostics Tool 2.1 DebugDiag
Inheritance Hierarchy
Online System Object
DebugDiag.DotNet.AnalysisRules AnalysisRuleInfo
DebugDiag.DotNet.AnalysisRules XamlAnalysisRuleInfo

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class XamlAnalysisRuleInfo : AnalysisRuleInfo
public class XamlAnalysisRuleInfo : AnalysisRuleInfo
Public Class XamlAnalysisRuleInfo _
    Inherits AnalysisRuleInfo
Public Class XamlAnalysisRuleInfo _
    Inherits AnalysisRuleInfo
public ref class XamlAnalysisRuleInfo : public AnalysisRuleInfo
public ref class XamlAnalysisRuleInfo : public AnalysisRuleInfo
See Also
XamlAnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


XamlAnalysisRuleInfo Members

XamlAnalysisRuleInfo Members Debug Diagnostics Tool 2.1 DebugDiag

The XamlAnalysisRuleInfo type exposes the following members.
Constructors
 | Name | Description
Public method | XamlAnalysisRuleInfo | Initializes a new instance of the XamlAnalysisRuleInfo class
Back to Top
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | WaitForCompletion | (Inherited from AnalysisRuleInfo.)
Back to Top
Fields
 | Name | Description
Protected field | _location | (Inherited from AnalysisRuleInfo.)
Public field | FilterReason | (Inherited from AnalysisRuleInfo.)
Public field | WasFiltered | (Inherited from AnalysisRuleInfo.)
Back to Top
Properties
 | Name | Description
Public property | Category | (Overrides AnalysisRuleInfo Category.)
Public property | Description | (Overrides AnalysisRuleInfo Description.)
Public property | DisplayName | (Overrides AnalysisRuleInfo DisplayName.)
Public property | Exception | (Inherited from AnalysisRuleInfo.)
Public property | FilterXamlPath |
Public property | Location | (Inherited from AnalysisRuleInfo.)
Public property | RecentDumpFilePath | (Inherited from AnalysisRuleInfo.)
Public property | Status | (Inherited from AnalysisRuleInfo.)
Back to Top
See Also
XamlAnalysisRuleInfo Class
DebugDiag.DotNet.AnalysisRules Namespace


XamlAnalysisRuleInfo Constructor

XamlAnalysisRuleInfo Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the XamlAnalysisRuleInfo class

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public XamlAnalysisRuleInfo(
    string xamlPath
)
public XamlAnalysisRuleInfo(
    string xamlPath
)
Public Sub New ( _
    xamlPath As String _
)
Public Sub New ( _
    xamlPath As String _
)
public:
XamlAnalysisRuleInfo(
    String^ xamlPath
)
public:
XamlAnalysisRuleInfo(
    String^ xamlPath
)
Parameters
xamlPath
Type:   Online System String
See Also
XamlAnalysisRuleInfo Class
XamlAnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


XamlAnalysisRuleInfo Fields

XamlAnalysisRuleInfo Fields Debug Diagnostics Tool 2.1 DebugDiag
The XamlAnalysisRuleInfo type exposes the following members.
Fields
 | Name | Description
Protected field | _location | (Inherited from AnalysisRuleInfo.)
Public field | FilterReason | (Inherited from AnalysisRuleInfo.)
Public field | WasFiltered | (Inherited from AnalysisRuleInfo.)
Back to Top
See Also
XamlAnalysisRuleInfo Class
DebugDiag.DotNet.AnalysisRules Namespace


XamlAnalysisRuleInfo Methods

XamlAnalysisRuleInfo Methods Debug Diagnostics Tool 2.1 DebugDiag
The XamlAnalysisRuleInfo type exposes the following members.
Methods
 | Name | Description
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | WaitForCompletion | (Inherited from AnalysisRuleInfo.)
Back to Top
See Also
XamlAnalysisRuleInfo Class
DebugDiag.DotNet.AnalysisRules Namespace


XamlAnalysisRuleInfo Properties

XamlAnalysisRuleInfo Properties Debug Diagnostics Tool 2.1 DebugDiag
The XamlAnalysisRuleInfo type exposes the following members.
Properties
 | Name | Description
Public property | Category | (Overrides AnalysisRuleInfo Category.)
Public property | Description | (Overrides AnalysisRuleInfo Description.)
Public property | DisplayName | (Overrides AnalysisRuleInfo DisplayName.)
Public property | Exception | (Inherited from AnalysisRuleInfo.)
Public property | FilterXamlPath |
Public property | Location | (Inherited from AnalysisRuleInfo.)
Public property | RecentDumpFilePath | (Inherited from AnalysisRuleInfo.)
Public property | Status | (Inherited from AnalysisRuleInfo.)
Back to Top
See Also
XamlAnalysisRuleInfo Class
DebugDiag.DotNet.AnalysisRules Namespace


Category Property

XamlAnalysisRuleInfo Category Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public override string Category { get; }
public override string Category { get; }
Public Overrides ReadOnly Property Category As String
    Get
Public Overrides ReadOnly Property Category As String
    Get
public:
virtual property String^ Category {
    String^ get () override;
}
public:
virtual property String^ Category {
    String^ get () override;
}
See Also
XamlAnalysisRuleInfo Class
XamlAnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


Description Property

XamlAnalysisRuleInfo Description Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public override string Description { get; }
public override string Description { get; }
Public Overrides ReadOnly Property Description As String
    Get
Public Overrides ReadOnly Property Description As String
    Get
public:
virtual property String^ Description {
    String^ get () override;
}
public:
virtual property String^ Description {
    String^ get () override;
}
See Also
XamlAnalysisRuleInfo Class
XamlAnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


DisplayName Property

XamlAnalysisRuleInfo DisplayName Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public override string DisplayName { get; }
public override string DisplayName { get; }
Public Overrides ReadOnly Property DisplayName As String
    Get
Public Overrides ReadOnly Property DisplayName As String
    Get
public:
virtual property String^ DisplayName {
    String^ get () override;
}
public:
virtual property String^ DisplayName {
    String^ get () override;
}
See Also
XamlAnalysisRuleInfo Class
XamlAnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


FilterXamlPath Property

XamlAnalysisRuleInfo FilterXamlPath Property Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.AnalysisRules
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string FilterXamlPath { get; }
public string FilterXamlPath { get; }
Public ReadOnly Property FilterXamlPath As String
    Get
Public ReadOnly Property FilterXamlPath As String
    Get
public:
property String^ FilterXamlPath {
    String^ get ();
}
public:
property String^ FilterXamlPath {
    String^ get ();
}
See Also
XamlAnalysisRuleInfo Class
XamlAnalysisRuleInfo Members
DebugDiag.DotNet.AnalysisRules Namespace


DebugDiag.DotNet.Reports Namespace

DebugDiag.DotNet.Reports Namespace Debug Diagnostics Tool 2.1 DebugDiag
Classes
 | Class | Description
Public class | ReportSection | Class used to build the report details section, each rule details is contained on a ReportSection, in the same way, for each dump analyzed on the execution of the rule a section will be created.
Public class | ReportSections |
Enumerations
 | Enumeration | Description
Public enumeration | SectionType | Types of Sections you can Add to a report, not all types of sections can be added inside a ParentSecion, for example there is only one default section that is the root of all sections and cannot be added inside any other Sections.


ReportSection Class

ReportSection Class Debug Diagnostics Tool 2.1 DebugDiag
Class used to build the report details section, each rule details is contained on a ReportSection, in the same way, for each dump analyzed on the execution of the rule a section will be created.
Inheritance Hierarchy
Online System Object
DebugDiag.DotNet.Reports ReportSection

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class ReportSection : IDisposable
public class ReportSection : IDisposable
Public Class ReportSection _
    Implements IDisposable
Public Class ReportSection _
    Implements IDisposable
public ref class ReportSection : IDisposable
public ref class ReportSection : IDisposable
See Also
ReportSection Members
DebugDiag.DotNet.Reports Namespace


ReportSection Members

ReportSection Members Debug Diagnostics Tool 2.1 DebugDiag

The ReportSection type exposes the following members.
Constructors
 | Name | Description
Protected method | ReportSection | Constructor for the main ResportSection
Back to Top
Methods
 | Name | Description
Public method | AddChildSection(ReportSection) | Adds a new Custom Child ReportSection that could be created by a derived class from ReportSection
Public method | AddChildSection(String, SectionType) | Adds a new Child ReportSection in the current ReportSection, If there is a ReportSection with the same SectionID this method will return a reference to the ReportSection with the same SectionID instead of adding a new ReportSection
Public method | Dispose | Dispose Method that will clean up the MemoryStream used for the Content
Protected method | Dispose(Boolean) | Dispose Method that will clean up unmanaged resources used.
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | GetInnerSection | This method returns a ReportSection from the InnerSections collection based on his SectionID, if the SectionID is not found, a new ReportSection is created, added to the collection, and then returned.
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Protected method | RenderHTML | This function returns a memorystream with the rendered content of the ReportSection and inner ReportSections. You may override this function if you want to implement your custom formated
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | Write(String) | This method is used to report detailed information to the user about the analysis.
Public method | Write(String, Boolean, String, Int32) | Method to write data on the report
Public method | WriteLine | Method to write an Empty line on the Report
Public method | WriteLine(String) | Method to write string with a libe break on the report
Public method | WriteLine(String, Boolean, String, Int32) | Method to write string with a libe break on the report
Public method | WriteNameValuePair | Method to write a Name-Value pair on the report file using some basic formating
Back to Top
Fields
 | Name | Description
Protected field | _content |
Protected field | _dumpName |
Protected field | _InternalID |
Protected field | _level |
Protected field | _ruleName |
Protected field | _threadName |
Protected field | _type |
Back to Top
Properties
 | Name | Description
Public property | Collapsed | Property that indicates wheter or not the section will be shown collapsed by default on the report, the default is false
Public property | Collapsible | Property that indicates wheter or not the section will be collapsible on the report, the default is false for custom ReportSections
Public property | GetUID | Returns a Unique ID used for shortcuts on the HTML to go to the section using anchor tags
Public property | IncludeInTOC | Property that indicates whether the title of the section should be included on the Table of Contents, by default the table of contents only dispaly titles for 3 levels below the root.
Public property | InnerSections | Property that returns the Collection of ReportSections contained in the current ReportSection.
Public property | Parent | Property that returns a reference of the parent ReportSection of the current ReportSection
Public property | SectionID | Property to get the ReportId that identify the ReportSection in the collection, the Title is initialized with this value by default.
Public property | SectionType | Returns the SectionType of the current section
Public property | Title | Property to set/get the title for the ReportSection
Public property | ZOrder | Property to keep the order of the sections, if you need to change the order in which the sections are written on the report you can use this property to change it.
Back to Top
See Also
ReportSection Class
DebugDiag.DotNet.Reports Namespace


ReportSection Constructor

ReportSection Constructor Debug Diagnostics Tool 2.1 DebugDiag
Constructor for the main ResportSection

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected ReportSection(
    string SectionID,
    bool IncludeInTOC
)
protected ReportSection(
    string SectionID,
    bool IncludeInTOC
)
Protected Sub New ( _
    SectionID As String, _
    IncludeInTOC As Boolean _
)
Protected Sub New ( _
    SectionID As String, _
    IncludeInTOC As Boolean _
)
protected:
ReportSection(
    String^ SectionID,
    bool IncludeInTOC
)
protected:
ReportSection(
    String^ SectionID,
    bool IncludeInTOC
)
Parameters
SectionID
Type:   Online System String
Name for the Section, the root Section is called Default
IncludeInTOC
Type:   Online System Boolean
Name for the Section, the root Section is called Default
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


ReportSection Fields

ReportSection Fields Debug Diagnostics Tool 2.1 DebugDiag
The ReportSection type exposes the following members.
Fields
 | Name | Description
Protected field | _content |
Protected field | _dumpName |
Protected field | _InternalID |
Protected field | _level |
Protected field | _ruleName |
Protected field | _threadName |
Protected field | _type |
Back to Top
See Also
ReportSection Class
DebugDiag.DotNet.Reports Namespace


_content Field

ReportSection _content Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected MemoryStream _content
protected MemoryStream _content
Protected _content As MemoryStream
Protected _content As MemoryStream
protected:
MemoryStream^ _content
protected:
MemoryStream^ _content
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


_dumpName Field

ReportSection _dumpName Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected string _dumpName
protected string _dumpName
Protected _dumpName As String
Protected _dumpName As String
protected:
String^ _dumpName
protected:
String^ _dumpName
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


_InternalID Field

ReportSection _InternalID Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected string _InternalID
protected string _InternalID
Protected _InternalID As String
Protected _InternalID As String
protected:
String^ _InternalID
protected:
String^ _InternalID
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


_level Field

ReportSection _level Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected int _level
protected int _level
Protected _level As Integer
Protected _level As Integer
protected:
int _level
protected:
int _level
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


_ruleName Field

ReportSection _ruleName Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected string _ruleName
protected string _ruleName
Protected _ruleName As String
Protected _ruleName As String
protected:
String^ _ruleName
protected:
String^ _ruleName
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


_threadName Field

ReportSection _threadName Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected string _threadName
protected string _threadName
Protected _threadName As String
Protected _threadName As String
protected:
String^ _threadName
protected:
String^ _threadName
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


_type Field

ReportSection _type Field Debug Diagnostics Tool 2.1 DebugDiag

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected SectionType _type
protected SectionType _type
Protected _type As SectionType
Protected _type As SectionType
protected:
SectionType _type
protected:
SectionType _type
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


ReportSection Methods

ReportSection Methods Debug Diagnostics Tool 2.1 DebugDiag
The ReportSection type exposes the following members.
Methods
 | Name | Description
Public method | AddChildSection(ReportSection) | Adds a new Custom Child ReportSection that could be created by a derived class from ReportSection
Public method | AddChildSection(String, SectionType) | Adds a new Child ReportSection in the current ReportSection, If there is a ReportSection with the same SectionID this method will return a reference to the ReportSection with the same SectionID instead of adding a new ReportSection
Public method | Dispose | Dispose Method that will clean up the MemoryStream used for the Content
Protected method | Dispose(Boolean) | Dispose Method that will clean up unmanaged resources used.
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | GetInnerSection | This method returns a ReportSection from the InnerSections collection based on his SectionID, if the SectionID is not found, a new ReportSection is created, added to the collection, and then returned.
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Protected method | RenderHTML | This function returns a memorystream with the rendered content of the ReportSection and inner ReportSections. You may override this function if you want to implement your custom formated
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | Write(String) | This method is used to report detailed information to the user about the analysis.
Public method | Write(String, Boolean, String, Int32) | Method to write data on the report
Public method | WriteLine | Method to write an Empty line on the Report
Public method | WriteLine(String) | Method to write string with a libe break on the report
Public method | WriteLine(String, Boolean, String, Int32) | Method to write string with a libe break on the report
Public method | WriteNameValuePair | Method to write a Name-Value pair on the report file using some basic formating
Back to Top
See Also
ReportSection Class
DebugDiag.DotNet.Reports Namespace


AddChildSection Method

ReportSection AddChildSection Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | AddChildSection(ReportSection) | Adds a new Custom Child ReportSection that could be created by a derived class from ReportSection
Public method | AddChildSection(String, SectionType) | Adds a new Child ReportSection in the current ReportSection, If there is a ReportSection with the same SectionID this method will return a reference to the ReportSection with the same SectionID instead of adding a new ReportSection
Back to Top
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


AddChildSection Method (ReportSection)

ReportSection AddChildSection Method (ReportSection) Debug Diagnostics Tool 2.1 DebugDiag
Adds a new Custom Child ReportSection that could be created by a derived class from ReportSection

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool AddChildSection(
    ReportSection section
)
public bool AddChildSection(
    ReportSection section
)
Public Function AddChildSection ( _
    section As ReportSection _
) As Boolean
Public Function AddChildSection ( _
    section As ReportSection _
) As Boolean
public:
bool AddChildSection(
    ReportSection^ section
)
public:
bool AddChildSection(
    ReportSection^ section
)
Parameters
section
Type: DebugDiag.DotNet.Reports ReportSection
Return Value
true if it successfully added the section, false otherwise
See Also
ReportSection Class
ReportSection Members
AddChildSection Overload
DebugDiag.DotNet.Reports Namespace


AddChildSection Method (String, SectionType)

ReportSection AddChildSection Method (String, SectionType) Debug Diagnostics Tool 2.1 DebugDiag
Adds a new Child ReportSection in the current ReportSection, If there is a ReportSection with the same SectionID this method will return a reference to the ReportSection with the same SectionID instead of adding a new ReportSection

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ReportSection AddChildSection(
    string SectionID,
    SectionType Info = SectionType.Custom
)
public ReportSection AddChildSection(
    string SectionID,
    SectionType Info = SectionType.Custom
)
Public Function AddChildSection ( _
    SectionID As String, _
    Optional Info As SectionType = SectionType.Custom _
) As ReportSection
Public Function AddChildSection ( _
    SectionID As String, _
    Optional Info As SectionType = SectionType.Custom _
) As ReportSection
public:
ReportSection^ AddChildSection(
    String^ SectionID,
    SectionType Info = SectionType::Custom
)
public:
ReportSection^ AddChildSection(
    String^ SectionID,
    SectionType Info = SectionType::Custom
)
Parameters
SectionID
Type:   Online System String
Id for the new ReportSection
Info (Optional)
Type: DebugDiag.DotNet.Reports SectionType
Type for the new ReportSection, by default it is set to Custom
Return Value
The created ReportSection
See Also
ReportSection Class
ReportSection Members
AddChildSection Overload
DebugDiag.DotNet.Reports Namespace


Dispose Method

ReportSection Dispose Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | Dispose | Dispose Method that will clean up the MemoryStream used for the Content
Protected method | Dispose(Boolean) | Dispose Method that will clean up unmanaged resources used.
Back to Top
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


Dispose Method

ReportSection Dispose Method Debug Diagnostics Tool 2.1 DebugDiag
Dispose Method that will clean up the MemoryStream used for the Content

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void Dispose()
public void Dispose()
Public Sub Dispose
Public Sub Dispose
public:
virtual void Dispose() sealed
public:
virtual void Dispose() sealed
Implements
  Online IDisposable Dispose
See Also
ReportSection Class
ReportSection Members
Dispose Overload
DebugDiag.DotNet.Reports Namespace


Dispose Method (Boolean)

ReportSection Dispose Method (Boolean) Debug Diagnostics Tool 2.1 DebugDiag
Dispose Method that will clean up unmanaged resources used.

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected virtual void Dispose(
    bool disposing
)
protected virtual void Dispose(
    bool disposing
)
Protected Overridable Sub Dispose ( _
    disposing As Boolean _
)
Protected Overridable Sub Dispose ( _
    disposing As Boolean _
)
protected:
virtual void Dispose(
    bool disposing
)
protected:
virtual void Dispose(
    bool disposing
)
Parameters
disposing
Type:   Online System Boolean
True to release both managed and unmanaged resources; false to release only unmanaged resources
See Also
ReportSection Class
ReportSection Members
Dispose Overload
DebugDiag.DotNet.Reports Namespace


GetInnerSection Method

ReportSection GetInnerSection Method Debug Diagnostics Tool 2.1 DebugDiag
This method returns a ReportSection from the InnerSections collection based on his SectionID, if the SectionID is not found, a new ReportSection is created, added to the collection, and then returned.

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ReportSection GetInnerSection(
    string SectionID,
    SectionType Info
)
public ReportSection GetInnerSection(
    string SectionID,
    SectionType Info
)
Public Function GetInnerSection ( _
    SectionID As String, _
    Info As SectionType _
) As ReportSection
Public Function GetInnerSection ( _
    SectionID As String, _
    Info As SectionType _
) As ReportSection
public:
ReportSection^ GetInnerSection(
    String^ SectionID,
    SectionType Info
)
public:
ReportSection^ GetInnerSection(
    String^ SectionID,
    SectionType Info
)
Parameters
SectionID
Type:   Online System String
SectionID of the ReportSection to be returned
Info
Type: DebugDiag.DotNet.Reports SectionType
Return Value
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


RenderHTML Method

ReportSection RenderHTML Method Debug Diagnostics Tool 2.1 DebugDiag
This function returns a memorystream with the rendered content of the ReportSection and inner ReportSections. You may override this function if you want to implement your custom formated

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
protected internal virtual MemoryStream RenderHTML()
protected internal virtual MemoryStream RenderHTML()
Protected Friend Overridable Function RenderHTML As MemoryStream
Protected Friend Overridable Function RenderHTML As MemoryStream
protected public:
virtual MemoryStream^ RenderHTML()
protected public:
virtual MemoryStream^ RenderHTML()
Return Value
HTML formater report sections and inner sections
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


Write Method

ReportSection Write Method Debug Diagnostics Tool 2.1 DebugDiag
Overload List
 | Name | Description
Public method | Write(String) | This method is used to report detailed information to the user about the analysis.
Public method | Write(String, Boolean, String, Int32) | Method to write data on the report
Back to Top
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


Write Method (String)

ReportSection Write Method (String) Debug Diagnostics Tool 2.1 DebugDiag
This method is used to report detailed information to the user about the analysis.

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void Write(
    string value
)
public void Write(
    string value
)
Public Sub Write ( _
    value As String _
)
Public Sub Write ( _
    value As String _
)
public:
void Write(
    String^ value
)
public:
void Write(
    String^ value
)
Parameters
value
Type:   Online System String
Content to write on the report
See Also
ReportSection Class
ReportSection Members
Write Overload
DebugDiag.DotNet.Reports Namespace


Write Method (String, Boolean, String, Int32)

ReportSection Write Method (String, Boolean, String, Int32) Debug Diagnostics Tool 2.1 DebugDiag
Method to write data on the report

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void Write(
    string output,
    bool bold,
    string color,
    int size = 0
)
public void Write(
    string output,
    bool bold,
    string color,
    int size = 0
)
Public Sub Write ( _
    output As String, _
    bold As Boolean, _
    color As String, _
    Optional size As Integer = 0 _
)
Public Sub Write ( _
    output As String, _
    bold As Boolean, _
    color As String, _
    Optional size As Integer = 0 _
)
public:
void Write(
    String^ output,
    bool bold,
    String^ color,
    int size = 0
)
public:
void Write(
    String^ output,
    bool bold,
    String^ color,
    int size = 0
)
Parameters
output
Type:   Online System String
String value to add on the report
bold
Type:   Online System Boolean
Boolean value indicating if the text should be formated as bold
color
Type:   Online System String
String indicating the color to apply on the text
size (Optional)
Type:   Online System Int32
Integer indicating the size of the text
See Also
ReportSection Class
ReportSection Members
Write Overload
DebugDiag.DotNet.Reports Namespace


WriteLine Method

ReportSection WriteLine Method Debug Diagnostics Tool 2.1 DebugDiag
This method has two more overloads
Overload List
 | Name | Description
Public method | WriteLine | Method to write an Empty line on the Report
Public method | WriteLine(String) | Method to write string with a libe break on the report
Public method | WriteLine(String, Boolean, String, Int32) | Method to write string with a libe break on the report
Back to Top
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


WriteLine Method

ReportSection WriteLine Method Debug Diagnostics Tool 2.1 DebugDiag
Method to write an Empty line on the Report

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void WriteLine()
public void WriteLine()
Public Sub WriteLine
Public Sub WriteLine
public:
void WriteLine()
public:
void WriteLine()
See Also
ReportSection Class
ReportSection Members
WriteLine Overload
DebugDiag.DotNet.Reports Namespace


WriteLine Method (String)

ReportSection WriteLine Method (String) Debug Diagnostics Tool 2.1 DebugDiag
Method to write string with a libe break on the report

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void WriteLine(
    string output
)
public void WriteLine(
    string output
)
Public Sub WriteLine ( _
    output As String _
)
Public Sub WriteLine ( _
    output As String _
)
public:
void WriteLine(
    String^ output
)
public:
void WriteLine(
    String^ output
)
Parameters
output
Type:   Online System String
String value to write on the report
See Also
ReportSection Class
ReportSection Members
WriteLine Overload
DebugDiag.DotNet.Reports Namespace


WriteLine Method (String, Boolean, String, Int32)

ReportSection WriteLine Method (String, Boolean, String, Int32) Debug Diagnostics Tool 2.1 DebugDiag
Method to write string with a libe break on the report

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void WriteLine(
    string output,
    bool bold,
    string color = null,
    int size = 0
)
public void WriteLine(
    string output,
    bool bold,
    string color = null,
    int size = 0
)
Public Sub WriteLine ( _
    output As String, _
    bold As Boolean, _
    Optional color As String = Nothing, _
    Optional size As Integer = 0 _
)
Public Sub WriteLine ( _
    output As String, _
    bold As Boolean, _
    Optional color As String = Nothing, _
    Optional size As Integer = 0 _
)
public:
void WriteLine(
    String^ output,
    bool bold,
    String^ color = nullptr,
    int size = 0
)
public:
void WriteLine(
    String^ output,
    bool bold,
    String^ color = nullptr,
    int size = 0
)
Parameters
output
Type:   Online System String
String value to write on the report
bold
Type:   Online System Boolean
Boolean to indicate if the string should be formated as Bold
color (Optional)
Type:   Online System String
String value to apply a color to the text
size (Optional)
Type:   Online System Int32
Integer value to indicate the size for the text
See Also
ReportSection Class
ReportSection Members
WriteLine Overload
DebugDiag.DotNet.Reports Namespace


WriteNameValuePair Method

ReportSection WriteNameValuePair Method Debug Diagnostics Tool 2.1 DebugDiag
Method to write a Name-Value pair on the report file using some basic formating

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public void WriteNameValuePair(
    string name,
    string value,
    bool bold = true,
    string color = null,
    int size = 0
)
public void WriteNameValuePair(
    string name,
    string value,
    bool bold = true,
    string color = null,
    int size = 0
)
Public Sub WriteNameValuePair ( _
    name As String, _
    value As String, _
    Optional bold As Boolean = True, _
    Optional color As String = Nothing, _
    Optional size As Integer = 0 _
)
Public Sub WriteNameValuePair ( _
    name As String, _
    value As String, _
    Optional bold As Boolean = True, _
    Optional color As String = Nothing, _
    Optional size As Integer = 0 _
)
public:
void WriteNameValuePair(
    String^ name,
    String^ value,
    bool bold = true,
    String^ color = nullptr,
    int size = 0
)
public:
void WriteNameValuePair(
    String^ name,
    String^ value,
    bool bold = true,
    String^ color = nullptr,
    int size = 0
)
Parameters
name
Type:   Online System String
String representing the Name of the pair
value
Type:   Online System String
String representing the Value of the pair
bold (Optional)
Type:   Online System Boolean
Optional Boolean value indicating if the text should be formated as bold, the default is true
color (Optional)
Type:   Online System String
Optional string indicating the color for the text, default value is null
size (Optional)
Type:   Online System Int32
Optional text size
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


ReportSection Properties

ReportSection Properties Debug Diagnostics Tool 2.1 DebugDiag
The ReportSection type exposes the following members.
Properties
 | Name | Description
Public property | Collapsed | Property that indicates wheter or not the section will be shown collapsed by default on the report, the default is false
Public property | Collapsible | Property that indicates wheter or not the section will be collapsible on the report, the default is false for custom ReportSections
Public property | GetUID | Returns a Unique ID used for shortcuts on the HTML to go to the section using anchor tags
Public property | IncludeInTOC | Property that indicates whether the title of the section should be included on the Table of Contents, by default the table of contents only dispaly titles for 3 levels below the root.
Public property | InnerSections | Property that returns the Collection of ReportSections contained in the current ReportSection.
Public property | Parent | Property that returns a reference of the parent ReportSection of the current ReportSection
Public property | SectionID | Property to get the ReportId that identify the ReportSection in the collection, the Title is initialized with this value by default.
Public property | SectionType | Returns the SectionType of the current section
Public property | Title | Property to set/get the title for the ReportSection
Public property | ZOrder | Property to keep the order of the sections, if you need to change the order in which the sections are written on the report you can use this property to change it.
Back to Top
See Also
ReportSection Class
DebugDiag.DotNet.Reports Namespace


Collapsed Property

ReportSection Collapsed Property Debug Diagnostics Tool 2.1 DebugDiag
Property that indicates wheter or not the section will be shown collapsed by default on the report, the default is false

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool Collapsed { get; set; }
public bool Collapsed { get; set; }
Public Property Collapsed As Boolean
    Get
    Set
Public Property Collapsed As Boolean
    Get
    Set
public:
property bool Collapsed {
    bool get ();
    void set (bool value);
}
public:
property bool Collapsed {
    bool get ();
    void set (bool value);
}
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


Collapsible Property

ReportSection Collapsible Property Debug Diagnostics Tool 2.1 DebugDiag
Property that indicates wheter or not the section will be collapsible on the report, the default is false for custom ReportSections

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool Collapsible { get; set; }
public bool Collapsible { get; set; }
Public Property Collapsible As Boolean
    Get
    Set
Public Property Collapsible As Boolean
    Get
    Set
public:
property bool Collapsible {
    bool get ();
    void set (bool value);
}
public:
property bool Collapsible {
    bool get ();
    void set (bool value);
}
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


GetUID Property

ReportSection GetUID Property Debug Diagnostics Tool 2.1 DebugDiag
Returns a Unique ID used for shortcuts on the HTML to go to the section using anchor tags

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string GetUID { get; }
public string GetUID { get; }
Public ReadOnly Property GetUID As String
    Get
Public ReadOnly Property GetUID As String
    Get
public:
property String^ GetUID {
    String^ get ();
}
public:
property String^ GetUID {
    String^ get ();
}
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


IncludeInTOC Property

ReportSection IncludeInTOC Property Debug Diagnostics Tool 2.1 DebugDiag
Property that indicates whether the title of the section should be included on the Table of Contents, by default the table of contents only dispaly titles for 3 levels below the root.

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public bool IncludeInTOC { get; set; }
public bool IncludeInTOC { get; set; }
Public Property IncludeInTOC As Boolean
    Get
    Set
Public Property IncludeInTOC As Boolean
    Get
    Set
public:
property bool IncludeInTOC {
    bool get ();
    void set (bool value);
}
public:
property bool IncludeInTOC {
    bool get ();
    void set (bool value);
}
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


InnerSections Property

ReportSection InnerSections Property Debug Diagnostics Tool 2.1 DebugDiag
Property that returns the Collection of ReportSections contained in the current ReportSection.

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ReportSections InnerSections { get; }
public ReportSections InnerSections { get; }
Public ReadOnly Property InnerSections As ReportSections
    Get
Public ReadOnly Property InnerSections As ReportSections
    Get
public:
property ReportSections^ InnerSections {
    ReportSections^ get ();
}
public:
property ReportSections^ InnerSections {
    ReportSections^ get ();
}
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


Parent Property

ReportSection Parent Property Debug Diagnostics Tool 2.1 DebugDiag
Property that returns a reference of the parent ReportSection of the current ReportSection

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ReportSection Parent { get; }
public ReportSection Parent { get; }
Public ReadOnly Property Parent As ReportSection
    Get
Public ReadOnly Property Parent As ReportSection
    Get
public:
property ReportSection^ Parent {
    ReportSection^ get ();
}
public:
property ReportSection^ Parent {
    ReportSection^ get ();
}
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


SectionID Property

ReportSection SectionID Property Debug Diagnostics Tool 2.1 DebugDiag
Property to get the ReportId that identify the ReportSection in the collection, the Title is initialized with this value by default.

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string SectionID { get; private set; }
public string SectionID { get; private set; }
Public Property SectionID As String
    Get
    Private Set
Public Property SectionID As String
    Get
    Private Set
public:
property String^ SectionID {
    String^ get ();
    private: void set (String^ value);
}
public:
property String^ SectionID {
    String^ get ();
    private: void set (String^ value);
}
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


SectionType Property

ReportSection SectionType Property Debug Diagnostics Tool 2.1 DebugDiag
Returns the SectionType of the current section

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public SectionType SectionType { get; }
public SectionType SectionType { get; }
Public ReadOnly Property SectionType As SectionType
    Get
Public ReadOnly Property SectionType As SectionType
    Get
public:
property SectionType SectionType {
    SectionType get ();
}
public:
property SectionType SectionType {
    SectionType get ();
}
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


Title Property

ReportSection Title Property Debug Diagnostics Tool 2.1 DebugDiag
Property to set/get the title for the ReportSection

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public string Title { get; set; }
public string Title { get; set; }
Public Property Title As String
    Get
    Set
Public Property Title As String
    Get
    Set
public:
property String^ Title {
    String^ get ();
    void set (String^ value);
}
public:
property String^ Title {
    String^ get ();
    void set (String^ value);
}
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


ZOrder Property

ReportSection ZOrder Property Debug Diagnostics Tool 2.1 DebugDiag
Property to keep the order of the sections, if you need to change the order in which the sections are written on the report you can use this property to change it.

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public int ZOrder { get; set; }
public int ZOrder { get; set; }
Public Property ZOrder As Integer
    Get
    Set
Public Property ZOrder As Integer
    Get
    Set
public:
property int ZOrder {
    int get ();
    void set (int value);
}
public:
property int ZOrder {
    int get ();
    void set (int value);
}
See Also
ReportSection Class
ReportSection Members
DebugDiag.DotNet.Reports Namespace


ReportSections Class

ReportSections Class Debug Diagnostics Tool 2.1 DebugDiag
Inheritance Hierarchy
Online System Object
Online System.Collections.Generic Dictionary Online String, ReportSection
DebugDiag.DotNet.Reports ReportSections

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public class ReportSections : Dictionary<string, ReportSection>
public class ReportSections : Dictionary<string, ReportSection>
Public Class ReportSections _
    Inherits Dictionary(Of String, ReportSection)
Public Class ReportSections _
    Inherits Dictionary(Of String, ReportSection)
public ref class ReportSections : public Dictionary<String^, ReportSection^>
public ref class ReportSections : public Dictionary<String^, ReportSection^>
See Also
ReportSections Members
DebugDiag.DotNet.Reports Namespace


ReportSections Members

ReportSections Members Debug Diagnostics Tool 2.1 DebugDiag

The ReportSections type exposes the following members.
Constructors
 | Name | Description
Public method | ReportSections | Initializes a new instance of the ReportSections class
Back to Top
Methods
 | Name | Description
Public method | Online Add | Adds the specified key and value to the dictionary. (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online Clear | Removes all keys and values from the Online Dictionary TKey, TValue . (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online ContainsKey | Determines whether the Online Dictionary TKey, TValue contains the specified key. (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online ContainsValue | Determines whether the Online Dictionary TKey, TValue contains a specific value. (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetEnumerator | Returns an enumerator that iterates through the Online Dictionary TKey, TValue . (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetObjectData | Implements the Online ISerializable interface and returns the data needed to serialize the Online Dictionary TKey, TValue instance. (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online OnDeserialization | Implements the Online ISerializable interface and raises the deserialization event when the deserialization is complete. (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online Remove | Removes the value with the specified key from the Online Dictionary TKey, TValue . (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | Online TryGetValue | Gets the value associated with the specified key. (Inherited from Online Dictionary Online String, ReportSection .)
Back to Top
Properties
 | Name | Description
Public property | Online Comparer | Gets the Online IEqualityComparer T that is used to determine equality of keys for the dictionary. (Inherited from Online Dictionary Online String, ReportSection .)
Public property | Online Count | Gets the number of key/value pairs contained in the Online Dictionary TKey, TValue . (Inherited from Online Dictionary Online String, ReportSection .)
Public property | Online Item | Gets or sets the value associated with the specified key. (Inherited from Online Dictionary Online String, ReportSection .)
Public property | Online Keys | Gets a collection containing the keys in the Online Dictionary TKey, TValue . (Inherited from Online Dictionary Online String, ReportSection .)
Public property | Online Values | Gets a collection containing the values in the Online Dictionary TKey, TValue . (Inherited from Online Dictionary Online String, ReportSection .)
Back to Top
See Also
ReportSections Class
DebugDiag.DotNet.Reports Namespace


ReportSections Constructor

ReportSections Constructor Debug Diagnostics Tool 2.1 DebugDiag
Initializes a new instance of the ReportSections class

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public ReportSections()
public ReportSections()
Public Sub New
Public Sub New
public:
ReportSections()
public:
ReportSections()
See Also
ReportSections Class
ReportSections Members
DebugDiag.DotNet.Reports Namespace


ReportSections Methods

ReportSections Methods Debug Diagnostics Tool 2.1 DebugDiag
The ReportSections type exposes the following members.
Methods
 | Name | Description
Public method | Online Add | Adds the specified key and value to the dictionary. (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online Clear | Removes all keys and values from the Online Dictionary TKey, TValue . (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online ContainsKey | Determines whether the Online Dictionary TKey, TValue contains the specified key. (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online ContainsValue | Determines whether the Online Dictionary TKey, TValue contains a specific value. (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online Equals | Determines whether the specified Online Object is equal to the current Online Object. (Inherited from Online Object.)
Protected method | Online Finalize | Allows an Online Object to attempt to free resources and perform other cleanup operations before the Online Object is reclaimed by garbage collection. (Inherited from Online Object.)
Public method | Online GetEnumerator | Returns an enumerator that iterates through the Online Dictionary TKey, TValue . (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online GetHashCode | Serves as a hash function for a particular type. (Inherited from Online Object.)
Public method | Online GetObjectData | Implements the Online ISerializable interface and returns the data needed to serialize the Online Dictionary TKey, TValue instance. (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online GetType | Gets the Online Type of the current instance. (Inherited from Online Object.)
Protected method | Online MemberwiseClone | Creates a shallow copy of the current Online Object. (Inherited from Online Object.)
Public method | Online OnDeserialization | Implements the Online ISerializable interface and raises the deserialization event when the deserialization is complete. (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online Remove | Removes the value with the specified key from the Online Dictionary TKey, TValue . (Inherited from Online Dictionary Online String, ReportSection .)
Public method | Online ToString | Returns a Online String that represents the current Online Object. (Inherited from Online Object.)
Public method | Online TryGetValue | Gets the value associated with the specified key. (Inherited from Online Dictionary Online String, ReportSection .)
Back to Top
See Also
ReportSections Class
DebugDiag.DotNet.Reports Namespace


ReportSections Properties

ReportSections Properties Debug Diagnostics Tool 2.1 DebugDiag
The ReportSections type exposes the following members.
Properties
 | Name | Description
Public property | Online Comparer | Gets the Online IEqualityComparer T that is used to determine equality of keys for the dictionary. (Inherited from Online Dictionary Online String, ReportSection .)
Public property | Online Count | Gets the number of key/value pairs contained in the Online Dictionary TKey, TValue . (Inherited from Online Dictionary Online String, ReportSection .)
Public property | Online Item | Gets or sets the value associated with the specified key. (Inherited from Online Dictionary Online String, ReportSection .)
Public property | Online Keys | Gets a collection containing the keys in the Online Dictionary TKey, TValue . (Inherited from Online Dictionary Online String, ReportSection .)
Public property | Online Values | Gets a collection containing the values in the Online Dictionary TKey, TValue . (Inherited from Online Dictionary Online String, ReportSection .)
Back to Top
See Also
ReportSections Class
DebugDiag.DotNet.Reports Namespace


SectionType Enumeration

SectionType Enumeration Debug Diagnostics Tool 2.1 DebugDiag
Types of Sections you can Add to a report, not all types of sections can be added inside a ParentSecion, for example there is only one default section that is the root of all sections and cannot be added inside any other Sections.

Namespace: DebugDiag.DotNet.Reports
Assembly: DebugDiag.DotNet (in DebugDiag.DotNet.dll) Version: 2.1.0.14 (2.1.0.14)
Syntax
C#
VB
C++
F#
View Colorized Copy to Clipboard Print
public enum SectionType
public enum SectionType
Public Enumeration SectionType
Public Enumeration SectionType
public enum class SectionType
public enum class SectionType
Members
Member name | Value | Description
Custom | 0 | This ReportSection is intended for creating your custom sections inside any ReportSection
Dump | 1 | Rule ReportSection can be added into the Default ReportSection, it will be automatically created for every Rule executed on the Analysis
Rule | 2 | This is a Custom Section added on the Dump ReportSection, for grouping the Thread data, all Thread ReporSection are created inside this section.
ThreadSummary | 3 | Dump ReportSection can be added into a Rule ReportSection, it will be automatically created for each IHangDumpRule
Thread | 4 | Thread ReportSection can be added on the ThreadSummary ReportSection, it will be automatically created for each thread for IHangThreadRule and IExceptionThreadRule.
Default | 5 | Default ReportSection added at the Root Level, is a field of the NetScriptManager object and there is only one ReportSection of this type in the report
See Also
DebugDiag.DotNet.Reports Namespace


Debug Diagnostics Architecture

Debug Diagnostics Architecture Debug Diagnostics Tool 2.1 DebugDiag

DebugDiag is composed of 5 main components.

  • The Service (DbgSvc.exe)
  • The Host (DbgHost.exe)
  • The Collector User Interface (DebugDiag.Collection.exe)
  • The Analysis User Interface (DebugDiag.Analysis.exe)
  • The Leak Tracker DLL (LeakTrack.dll)
The Service

The Debugger Service DbgSvc.exe is a background process that performs the following functions.

  • Starts a Performance Monitor log when 1st started that collects data every 5 minutes. Please see the section on configuring Performance Monitor for more information.
  • Attaches and detaches DbgHost.exe to processes as defined by crash rules.
  • Implements the HTTP pinging mechanism used for hang detection.
  • Collects performance monitor logs when this is enabled through Options and Settings.
  • On Windows 2000 it allows DbgHost.exe to attach to processes in session 0 while running the User Interface in a terminal services session.
  • Used for LeakTrack injection.
  • Implements the time triggers that are used to create a dump file at the end of a leak rule.
  • Implements performance monitor triggers which may be used in the next release of DebugDiag to support performance rules.
  • Implements a central property bag through which a total dump count is maintained among other information. This property bag is persisted as ServiceState.xml when the service is stopped.

By default the service is not started. It is started when a rule is configured and activated, or can be started by enabling the "Use service mode to overcome terminal server limitations" on the Preferences Tab in the Options and Settings dialog. Once the service is started a log file is created in the Logs folder that will contain information on processes and services started or stopped, actions taken from rule configuration and other status messages.

The Debugger Service is controlled through a control script named DbgSvc.vbs which is created and modified based on rules that are configured. By default this file does not exist, and it will not be created until a rule is configured that requires the service.

The Host

The Debugger Host DbgHost.exe is a debugger that has the following features.

  • Performs live debugging on running processes automated through control scripts.
  • Performs post-mortem debugging of userdump files during DebugDiag Analysis.
  • Hosts the Analyzer script engine and template parser that can be used to create custom analysis scripts. Please see the Developer Guide for more information on custom analysis scripts.

The Debugger Host is controlled through a control script when a rule is configured. The control script determines what the debugger will do while attached to the process. The control scripts are located in the Scripts folder.

The Debugger Host can be controlled from the command line as well. The following are a list of commands and samples on how to use them.

User dump mode

Dbghost -dump [-IIS] [-p PID1] [-p PID2] ... [-pn pname1.exe] [-pn pname2.exe]

Example: Creates a dump file of all IIS Related processes, Notepad.exe, and the process whose Process ID is 568

Dbghost.exe -dump -IIS -pn notepad.exe -p 568

Invasive attach mode

Dbghost [options] -attach PID

Example: Attaches DbgHost.exe as a live debugger to the process with a Process ID of 586, specifying the symbol path to use, and control script to use.

Dbghost.exe -SymPath C:\Symbols -Script C:\DebugDiag\Scripts\MyRule.vbs -attach 586

Invasive launch mode

Dbghost [options]-launch command line

Example: Launches notepad.exe and DbgHost.exe attaches as a live debugger to notepad.exe

Dbghost.exe -launch notepad.exe

Invasive mode options

-SymPath Symbol Server Path

-Script Control Script Path

Install as JIT debugger

Dbghost -JITInstall

Register type library

Dbghost -RegServer

Unregister type library

Dbghost -UnRegServer

The Collector User Interface

The Collector User interface is implemented in DebugDiag.Collection.exe. The main DebugDiag window contains two views used to help collect and analyze data as well as manage and view the status of processes. It also has menu items used to help set debugging preferences.

  • Rules - This tab is used to configure and manage rules used to collect data for troubleshooting performance issues.
  • Processes - This tab is used to collect data manually and manage processes on the system.
  • Options and Settings - This menu option is used to configure DebugDiag options.
The Analysis User Interface

The Analysis user interface is implemented in DebugDiag.Analysis.exe. The main window contains two section used to help on selecting the analysis rules and the data to analyze. The user interface has a main view as well as menu items used to help change the main settings used by the rules algorithms.

  • Settings - This menu item shows the analyzer settings where the user may change the preferences for the reports, the folder where the report files are saved, the symbols location and the folder where the analyzer could load custom rules defined by the user.
  • Open Reports Folder - This menu item will open an explorer window located on the reports folder.
  • Start Analysis - This menu item will start the select analysis rules on the dump files that have been previously selected to analyze.
The Leak Tracker DLL (LeakTrack.dll)

The Leak Tracker DLL is the DLL injected into a process when troubleshooting memory leaks manually or with a memory leak rule. It tracks memory allocations and call stacks used for troubleshooting memory leaks.