BUG: Known Issues with Cordbg.exe (307169)



The information in this article applies to:

  • Microsoft .NET Framework SDK 1.0
  • Microsoft .NET Framework SDK 1.1
  • Microsoft .NET Framework Class Libraries 1.0
  • Microsoft Windows .NET Framework Class Libraries 1.1

This article was previously published under Q307169

SYMPTOMS

The following are known issues with the Common Language Runtime (CLR) Debugging Services:
  • Cordbg.exe sometimes stops responding (hangs) after it attaches to a process.

    In rare situations, where a process has numerous threads, Cordbg.exe may stop responding after attaching to the process.
  • Cordbg.exe does not work properly when you step through statements in catch or finally blocks.

    When you step through statements in a catch or finally block, Cordbg.exe appears to stop responding. It may take several attempts to step over a single statement.
  • Psapi.dll must be copied for debugging in Microsoft Windows NT 4.0.

    Psapi.dll, which is required for debugging, is not included in Windows NT 4.0. This causes Mdm.exe to consume 100 percent of CPU resources. Mdm.exe is a service that runs when the system boots. Furthermore, when you try to open the Processes dialog box to see the list of processes on the computer, Mdm.exe, DbgCLR, and/or Visual Studio .NET stop responding.

    WORKAROUND: Copy Psapi.dll version number 4.0.1371.1 from the Microsoft Visual Studio CD-ROM to the WINNT\System32 directory.
  • Cordbg.exe does not work well with JScript programs.

    Cordbg.exe does not understand attributes of the unmanaged JScript.dll. Before it reaches the program entry point or steps into a function, it steps through JScript.dll in disassembly.

    WORKAROUND: Use Visual Studio .NET instead. Cordbg.exe does not have all the functionality that Visual Studio .NET has.
  • The user who has Debug programs permissions and is not in the Administrator group cannot debug managed programs of other users.

    In the current implementation of runtime, only those users who have full Administrative permissions are allowed to debug managed programs that are running under another account. For native debugging, only Debug programs permissions are needed.
  • Function evaluation in Cordbg made on an object loaded in a different application domain throws an exception.

    If the class instance is created in a different application domain than the domain in which the program is running in, the function evaluation on that object throws an exception. However, the calls made in the program on an object in a different application domain still work properly.
  • At the end of a debugging session with Cordbg, when the program being debugged is terminating, you may receive the following error message from Cordbg:
    hr=0x80131301, The debuggee has terminated
    In rare situations, when the debugged program is being terminated, the Cordbg prints out this error message. This message can be safely ignored.
  • Function Evaluation is always implemented as a virtual call.

    Assume you have following classes in your program:
    class Base
    {
                public virtual int Bar()    { return 0;  }
    }
    class Derived : Base
    {
                public override int Bar()  {return 6;  }                       
    }
    And you have the following:
    Derived x = new Derived();
    Base y = x;
    Then function evaluation stated as "f Base::Bar y" will always perform a virtual function call. This means that the result will be 6. Currently it is not possible to perform a non-virtual function evaluation (calling Base::Bar). This affects the function-evaluation process in Visual Studio as well.
  • Cordbg Help topic for newstr command is incorrect.

    The Help topic for the cordbg newstr command incorrectly states that the parameter is "class." Instead, the parameter should be "string." The string after the command should be entered without any "".

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

Modification Type:MajorLast Reviewed:4/7/2003
Keywords:kbbug kbpending kbreadme KB307169 kbAudDeveloper