Debugger2 الواجهة
Debugger2الكائن هو يستخدم interrogate والتعامل مع الولاية مصحح الأخطاء والبرنامج الذي يتم تصحيحه. Debugger2محل الكائن Debuggerالكائن.
مساحة الاسم: EnvDTE80
التجميع: EnvDTE80 (في EnvDTE80.dll)
بناء الجملة
'إقرار
<GuidAttribute("8B5E2BFD-4642-4EFE-8AF4-0B2DA9AAA23C")> _
Public Interface Debugger2 _
Inherits Debugger
[GuidAttribute("8B5E2BFD-4642-4EFE-8AF4-0B2DA9AAA23C")]
public interface Debugger2 : Debugger
[GuidAttribute(L"8B5E2BFD-4642-4EFE-8AF4-0B2DA9AAA23C")]
public interface class Debugger2 : Debugger
[<GuidAttribute("8B5E2BFD-4642-4EFE-8AF4-0B2DA9AAA23C")>]
type Debugger2 =
interface
interface Debugger
end
public interface Debugger2 extends Debugger
ملاحظات
يتوفر مصحح الأخطاء من خلال DTE2كائن عبر به Debuggerخاصية، كما هو موضح في مثال أدناه. كائن المصحح هو متاحة لكل مثيل لبيئة التطوير.
أمثلة
Imports EnvDTE
Imports System.Diagnostics
Public Module Module1
'This function returns true if the debugger is actively debugging.
Function IsDebugging() As Boolean
Dim debugger As EnvDTE80.Debugger2
debugger = DTE2.Debugger
If (debugger Is Nothing) Then
MsgBox("Debugger doesn't exist! Fatal error.")
IsDebugging = false
Else
IsDebugging = (debugger.CurrentMode <> _
dbgDebugMode.dbgDesignMode)
End If
End Function
End Module
// The following C++ program can be run from the command line.
// It detects whether an instance of Visual Studio is currently
// running,and if so, prints a message stating whether its debugger
// is actively debugging.
#include <stdio.h>
#import "dte.olb" raw_interfaces_only named_guids
using namespace EnvDTE80;
int main(void)
{
int nRet = 0;
CoInitialize(NULL);
IUnknownPtr pUnk;
GetActiveObject(CLSID_DTE, NULL, &pUnk);
if (pUnk == NULL) {
printf ("No instance of Visual Studio is running.\n");
}
else {
_DTEPtr pDTE = pUnk;
if (pDTE) {
DebuggerPtr pDebugger;
if (SUCCEEDED(pDTE->get_Debugger(&pDebugger2)) &&
pDebugger2
!= NULL){
dbgDebugMode mode;
if (SUCCEEDED(pDebugger2->get_CurrentMode(&mode))) {
if (mode != dbgDesignMode) {
printf("Debugger is active.\n");
nRet = 1;
}
else {
printf("Debugger is not active.\n");
}
}
}
}
}
CoUninitialize();
return nRet;
}