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 "".
STATUSMicrosoft has confirmed that this is a bug in the Microsoft
products that are listed at the beginning of this article.
Modification Type: | Major | Last Reviewed: | 4/7/2003 |
---|
Keywords: | kbbug kbpending kbreadme KB307169 kbAudDeveloper |
---|
|