Cordbg.exe — Command-line debugger


cordbg [program [program-arguments]] [!command ...]


This is a general source-level, command-line debug utility for MSIL programs. It’s a very useful tool for C# source debugging (make sure you compiled your program with /debug). Source for cordbg is available in the \Tool Developers Guide directory. You can start cordbg with the name of a program and the arguments to pass to that program. You can also supply one or more commands (prefixed with !) on the command line.

After you launch cordbg, you are greeted by the (cordbg) prompt, where you can type commands until you exit cordbg with the quit command.

Sample Sessions

Set a breakpoint, start the program, and step through a few lines of code:

c:\home>cordbg Tester.exe
Microsoft (R) Common Language Runtime Test Debugger Shell 
Version 1.1.4322.573
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
(cordbg) run Tester.exe
Process 2024/0x7e8 created.
Warning: couldn't load symbols for 
[thread 0xee8] Thread created.
004:     for (int i = 0; i < 3; i++) {
(cordbg) show
001: using System;
002: class Tester {
003:   public static void Main( ) {
004:*    for (int i = 0; i < 3; i++) {
005:       object o = i;
006:       Console.Write(i + " ");
007:     }
008:     Console.Write("\n");
009:   }
(cordbg) b 6
Breakpoint #1 has bound to c:\home\Tester.exe.
#1      c:\home\Tester.cs:6  Main+0xb(il) [active]
(cordbg) go break at #1 c:\home\Tester.cs:6 Main+0xb(il) ...

Get C# in a Nutshell, Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.