MDbg.exe (.NET Framework Command-Line Debugger) - .NET Framework (2024)

ap[rocess] [number]Switches to another debugged process or prints available processes. The numbers are not real process IDs (PIDs), but a 0-indexed list.a[ttach] [pid]Attaches to a process or prints available processes.b[reak] [ClassName.Method | FileName:LineNo]Sets a breakpoint at the specified method. Modules are scanned sequentially.

- break FileName:LineNo sets a breakpoint at a location in the source.
- break ~number sets a breakpoint on a symbol recently displayed with the x command.
- break module!ClassName.Method+IlOffset sets a breakpoint on the fully qualified location.

block[ingObjects]Displays monitor locks, which are blocking threads.ca[tch] [exceptionType]Causes the debugger to break on all exceptions, and not just on the unhandled exceptions.cl[earException]Marks the current exception as handled so that execution can continue. If the cause of the exception has not been dealt with, the exception may be quickly rethrown.conf[ig] [option value]Displays all configurable options and shows how the options are invoked without any optional values. If the option is specified, sets value as the current option. The following options are currently available:

- extpath sets the path to search for extensions when the load command is used.
- extpath+ adds a path for loading extensions.

del[ete]Deletes a breakpoint.de[tach]Detaches from a debugged process.d[own] [frames]Moves the active stack frame down.echoEchoes a message to the console.enableNotif[ication] typeName 0|1Enables (1) or disables (0) custom notifications for the specified type.ex[it] [exitcode]Exits the MDbg.exe shell, and optionally specifies the process exit code.fo[reach] [OtherCommand]Performs a command on all threads. OtherCommand is a valid command that operates on one thread; foreach OtherCommand performs the same command on all threads.f[unceval] [-ad Num] functionName [args ... ]Performs a function evaluation on the current active thread where the function to evaluate is functionName. The function name must be fully qualified, including namespaces.

The -ad option specifies the application domain to use to resolve the function. If the -ad option is not specified, the application domain for resolution defaults to the application domain where the thread that is used for function evaluation is located.

If the function that is being evaluated is not static, the first parameter passed in should be a this pointer. All application domains are searched for arguments to the function evaluation..

To request a value from an application domain, prefix the variable with the module and application domain name; for example, funceval -ad 0 System.Object.ToString hello.exe#0!MyClass.g_rootRef. This command evaluates the function System.Object.ToString in the application domain 0. Because the ToString method is an instance function, the first parameter must be a this pointer.

g[o]Causes the program to continue until it encounters a breakpoint, the program exits, or an event (for example, an unhandled exception) causes the program to stop.h[elp] [command]

-or-

? [command]

Displays a description of all commands or a detailed description of a specified command.ig[nore] [event]Causes the debugger to stop on unhandled exceptions only.int[ercept] FrameNumberRolls the debugger back to a specified frame number.

If the debugger encounters an exception, use this command to roll the debugger back to the specified frame number. You can change the program state by using the set command and continue by using the go command.

k[ill]Stops the active process.l[ist] [modules | appdomains | assemblies]Displays the loaded modules, application domains, or assemblies.lo[ad] assemblyNameLoads an extension in the following manner: The specified assembly is loaded and an attempt is then made to run the static method LoadExtension from the Microsoft.Tools.Mdbg.Extension.Extension type.log [eventType]Set or display the events to be logged.mo[de] [option on/off]Sets different debugger options. Use mode with no options to get a list of the debugging modes and their current settings.mon[itorInfo] monitorReferenceDisplays object monitor lock information.newo[bj] typeName [arguments...]Creates a new object of type typeName.n[ext]Runs code and moves to the next line (even if the next line includes many function calls).Opendump pathToDumpFileOpens the specified dump file for debugging.o[ut]Moves to the end of the current function.pa[th] [pathName]Searches the specified path for the source files if the location in the binaries is not available.p[rint] [var] | [-d]Prints all variables in scope (print), prints the specified variable (print var), or prints the debugger variables (print-d).printe[xception] [-r]Prints the last exception on the current thread. Use the –r (recursive) option to traverse the InnerException property on the exception object to get information about the entire chain of exceptions.pro[cessenum]Displays the active processes.q[uit] [exitcode]Quits the MDbg.exe shell, optionally specifying the process exit code.re[sume] [* | [~]threadNumber]Resumes the current thread or the thread specified by the threadNumber parameter.

If the threadNumber parameter is specified as * or if the thread number starts with ~, the command applies to all threads except the one specified by threadNumber.

Resuming a non-suspended thread has no effect.

r[un] [-d(ebug) | -o(ptimize) |-enc] [[path_to_exe] [args_to_exe]]Stops the current process (if there is one) and starts a new one. If no executable argument is passed, this command runs the program that was previously executed with the run command. If the executable argument is provided, the specified program is run using the optionally supplied arguments.

If class load, module load, and thread start events are ignored (as they are by default), the program stops on the first executable instruction of the main thread.

You can force the debugger to just-in-time (JIT) compile the code by using one of the following three flags:

- -d ( ebug ) disables optimizations. This is the default for MDbg.exe.
- -o ( ptimize ) forces the code to run more like it does outside the debugger, but also makes the debugging experience more difficult. This is the default for use outside the debugger.
- -enc enables the Edit and Continue feature but incurs a performance hit.

Set variable=valueChanges the value of any in-scope variable.

You can also create your own debugger variables and assign reference values to them from within your application. These values act as handles to the original value, and even the original value is out of scope. All debugger variables must begin with $ (for example, $var). Clear these handles by setting them to nothing using the following command:

set $var=

Setip [-il] numberSets the current instruction pointer (IP) in the file to the specified position. If you specify the -il option, the number represents a common intermediate language (CIL) offset in the method. Otherwise, the number represents a source line number.sh[ow] [lines]Specifies the number of lines to show.s[tep]Moves execution into the next function on the current line, or moves to the next line if there is no function to step into.su[spend] [* | [~]threadNumber]Suspends the current thread or the thread specified by the threadNumber parameter. If threadNumber is specified as *, the command applies to all threads. If the thread number starts with ~, the command applies to all threads except the one specified by threadNumber. Suspended threads are excluded from running when the process is run by either the go or step command. If there are no non-suspended threads in the process and you issue the go command, the process will not continue. In that case, press CTRL-C to break into the process.sy[mbol] commandName [commandValue]Specifies one of the following commands:

- symbol path ["value"] - Displays or sets the current symbol path.
- symbol addpath "value" - Adds to your current symbol path.
- symbol reload ["module"] - Reloads either all symbols or the symbols for the specified module.
- symbol list [module] - Shows the currently loaded symbols for either all modules or the specified module.

t[hread] [newThread] [-nick nickname]The thread command with no parameters displays all managed threads in the current process. Threads are usually identified by their thread numbers; however, if the thread has an assigned nickname, the nickname is displayed instead. You can use the -nick parameter to assign a nickname to a thread.

- thread -nick threadName assigns a nickname to the currently running thread.

Nicknames cannot be numbers. If the current thread already has an assigned nickname, the old nickname is replaced with the new one. If the new nickname is an empty string (""), the nickname for the current thread is deleted and no new nickname is assigned to the thread.

u[p]Moves the active stack frame up.uwgc[handle] [var] | [address]Prints the variable tracked by a handle. The handle can be specified by name or address.whenDisplays the currently active when statements.

when delete all | num [num [num …]] - Deletes the when statement specified by the number, or all when statements if all is specified.

when stopReason [specific_condition] docmd [cmd [cmd …] ] - The stopReason parameter can be one of the following:

StepComplete, ProcessExited, ThreadCreated, BreakpointHit, ModuleLoaded, ClassLoaded, AssemblyLoaded, AssemblyUnloaded, ControlCTrapped, ExceptionThrown, UnhandledExceptionThrown, AsyncStop, AttachComplete, UserBreak, EvalComplete, EvalException, RemapOpportunityReached, NativeStop.

specific_condition can be one of the following:

- number - For ThreadCreated and BreakpointHit, triggers action only when stopped by a thread ID/breakpoint number with same value.
- [!]name - For ModuleLoaded, ClassLoaded, AssemblyLoaded, AssemblyUnloaded, ExceptionThrown, and UnhandledExceptionThrown, triggers action only when the name matches the name of the stopReason.

specific_condition must be empty for other values of stopReason.

w[here] [-v] [-c depth] [threadID]Displays debug information about stack frames.

- The -v option provides verbose information about each displayed stack frame.
- Specifying a number for depth limits how many frames are displayed. Use the all command to display all frames. The default is 100.
- If you specify the threadID parameter, you can control which thread is associated with the stack. The default is the current thread only. Use the all command to get all threads.

x [-cnumSymbols] [module[!pattern]]Displays functions that match the pattern for a module.

If numSymbols is specified, the output is limited to the specified number. If ! (indicating a regular expression) is not specified for pattern, all functions are displayed. If module is not provided, all loaded modules are displayed. Symbols (~#) can be used to set breakpoints using the break command.

MDbg.exe (.NET Framework Command-Line Debugger) - .NET Framework (2024)
Top Articles
User manual Hoover Power Scrub Deluxe Carpet Cleaner (English
HOOVER POWER SCRUB OWNER'S MANUAL Pdf Download
Genesis Parsippany
Myexperience Login Northwell
7.2: Introduction to the Endocrine System
Walgreens Alma School And Dynamite
Acbl Homeport
Roblox Character Added
Lost Pizza Nutrition
Call Follower Osrs
Regal Stone Pokemon Gaia
Drago Funeral Home & Cremation Services Obituaries
ᐅ Bosch Aero Twin A 863 S Scheibenwischer
Imagetrend Inc, 20855 Kensington Blvd, Lakeville, MN 55044, US - MapQuest
Toy Story 3 Animation Screencaps
使用 RHEL 8 时的注意事项 | Red Hat Product Documentation
Craighead County Sheriff's Department
Silive Obituary
X-Chromosom: Aufbau und Funktion
Poe Str Stacking
Pecos Valley Sunland Park Menu
Www.publicsurplus.com Motor Pool
Dulce
Sodium azide 1% in aqueous solution
Uncovering The Mystery Behind Crazyjamjam Fanfix Leaked
Craigslist Maryland Trucks - By Owner
Munis Self Service Brockton
Pokemon Inflamed Red Cheats
Infinite Campus Asd20
Ezstub Cross Country
Fandango Pocatello
Solve 100000div3= | Microsoft Math Solver
Powerball lottery winning numbers for Saturday, September 7. $112 million jackpot
10 Most Ridiculously Expensive Haircuts Of All Time in 2024 - Financesonline.com
Bimar Produkte Test & Vergleich 09/2024 » GUT bis SEHR GUT
Imperialism Flocabulary Quiz Answers
Bay Focus
D3 Boards
The Thing About ‘Dateline’
5 Tips To Throw A Fun Halloween Party For Adults
Froedtert Billing Phone Number
Anhedönia Last Name Origin
Aita For Announcing My Pregnancy At My Sil Wedding
Pro-Ject’s T2 Super Phono Turntable Is a Super Performer, and It’s a Super Bargain Too
Fool's Paradise Showtimes Near Roxy Stadium 14
Blow Dry Bar Boynton Beach
Zeeks Pizza Calories
Hdmovie2 Sbs
Displacer Cub – 5th Edition SRD
Rick And Morty Soap2Day
Online TikTok Voice Generator | Accurate & Realistic
Sj Craigs
Latest Posts
Article information

Author: Ouida Strosin DO

Last Updated:

Views: 5537

Rating: 4.6 / 5 (76 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Ouida Strosin DO

Birthday: 1995-04-27

Address: Suite 927 930 Kilback Radial, Candidaville, TN 87795

Phone: +8561498978366

Job: Legacy Manufacturing Specialist

Hobby: Singing, Mountain biking, Water sports, Water sports, Taxidermy, Polo, Pet

Introduction: My name is Ouida Strosin DO, I am a precious, combative, spotless, modern, spotless, beautiful, precious person who loves writing and wants to share my knowledge and understanding with you.