Debugger2, interface
L'objet Debugger2 est utilisé pour interroger et manipuler l'état du débogueur et le programme en cours de débogage. L'objet Debugger2 remplace l'objet Debugger.
Espace de noms : EnvDTE80
Assembly : EnvDTE80 (dans EnvDTE80.dll)
Syntaxe
'Déclaration
<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
Le type Debugger2 expose les membres suivants.
Propriétés
Nom | Description | |
---|---|---|
AllBreakpointsLastHit | (Hérité de Debugger.) | |
AllBreakpointsLastHit | Obtient une collection des derniers points d'arrêt liés ayant fait l'objet d'un accès simultané. | |
BreakpointLastHit | (Hérité de Debugger.) | |
BreakpointLastHit | Obtient le dernier point d'arrêt ayant fait l'objet d'un accès. | |
Breakpoints | (Hérité de Debugger.) | |
Breakpoints | Obtient une collection de points d'arrêt. | |
CurrentMode | (Hérité de Debugger.) | |
CurrentMode | Obtient le mode actuel du débogueur dans le contexte de l'IDE. | |
CurrentProcess | (Hérité de Debugger.) | |
CurrentProcess | Obtient ou définit le processus actif. | |
CurrentProgram | (Hérité de Debugger.) | |
CurrentProgram | Définit ou retourne le programme actif. | |
CurrentStackFrame | (Hérité de Debugger.) | |
CurrentStackFrame | Obtient ou définit le frame de pile actuel. | |
CurrentThread | (Hérité de Debugger.) | |
CurrentThread | Obtient ou définit le thread actuellement en cours de débogage. | |
DebuggedProcesses | (Hérité de Debugger.) | |
DebuggedProcesses | Obtient la liste des processus actuellement en cours de débogage. | |
DTE | (Hérité de Debugger.) | |
DTE | Obtient l'objet d'extensibilité de niveau supérieur. | |
HexDisplayMode | (Hérité de Debugger.) | |
HexDisplayMode | Obtient ou définit une valeur indiquant si les expressions sont sorties au format hexadécimal ou décimal. | |
HexInputMode | (Hérité de Debugger.) | |
HexInputMode | Obtient ou définit une valeur indiquant si les expressions sont évaluées au format hexadécimal ou décimal. | |
Languages | (Hérité de Debugger.) | |
Languages | Obtient la liste des langages pris en charge par le débogueur. | |
LastBreakReason | (Hérité de Debugger.) | |
LastBreakReason | Obtient la dernière raison d'interruption d'un programme.Si le programme est en cours d'exécution, il retourne DBG_REASON_NONE. | |
LocalProcesses | (Hérité de Debugger.) | |
LocalProcesses | Obtient la liste des processus en cours d'exécution sur cet ordinateur. | |
Parent | (Hérité de Debugger.) | |
Parent | Obtient l'objet parent immédiat de l'objet Debugger2 (DTE2). | |
Transports | Obtient une collection de transports de débogage pris en charge. |
Début
Méthodes
Nom | Description | |
---|---|---|
Break(Boolean) | (Hérité de Debugger.) | |
Break(Boolean) | Entraîne la suspension de l'exécution du processus donné afin que son état actuel puisse être analysé. | |
DetachAll() | (Hérité de Debugger.) | |
DetachAll() | Détache de tous les programmes attachés. | |
ExecuteStatement(String, Int32, Boolean) | (Hérité de Debugger.) | |
ExecuteStatement(String, Int32, Boolean) | Exécute l'instruction spécifiée.Si l'indicateur TreatAsExpression est true, la chaîne est interprétée comme une expression, et la sortie est envoyée à la Commande, fenêtre. | |
GetExpression(String, Boolean, Int32) | (Hérité de Debugger.) | |
GetExpression(String, Boolean, Int32) | Évalue une expression sur la base du frame de pile actuel.Si l'expression peut être analysée mais pas évaluée, un objet est retourné mais ne contient pas de valeur valide. | |
GetExpression2 | Évalue une expression sur la base du frame de pile actuel.Si l'expression peut être analysée mais pas évaluée, un objet est retourné mais ne contient pas de valeur valide. | |
GetProcesses | Permet à l'appelant d'obtenir une collection de processus d'un ordinateur distant. | |
Go(Boolean) | (Hérité de Debugger.) | |
Go(Boolean) | Démarre l'exécution du programme à partir de l'instruction actuelle. | |
RunToCursor(Boolean) | (Hérité de Debugger.) | |
RunToCursor(Boolean) | Exécute le programme jusqu'à la position actuelle du curseur du fichier source. | |
SetNextStatement() | (Hérité de Debugger.) | |
SetNextStatement() | Définit l'instruction suivante à exécuter, en fonction de la position du curseur dans le fichier source actuel. | |
StepInto(Boolean) | (Hérité de Debugger.) | |
StepInto(Boolean) | Effectue un pas à pas détaillé dans l'appel de fonction suivant, si possible. | |
StepOut(Boolean) | (Hérité de Debugger.) | |
StepOut(Boolean) | Sort de la fonction active. | |
StepOver(Boolean) | (Hérité de Debugger.) | |
StepOver(Boolean) | Passe à l'appel de fonction suivant. | |
Stop(Boolean) | (Hérité de Debugger.) | |
Stop(Boolean) | Arrête le débogage et termine ou détache de tous les processus attachés. | |
TerminateAll() | (Hérité de Debugger.) | |
TerminateAll() | Met fin à tous les processus de débogage en cours d'exécution. | |
WriteMinidump | Si vous déboguez un programme et vous trouvez en mode arrêt, cette fonction crée un minidump de la session de débogage en cours. |
Début
Notes
Le débogueur est disponible par l'intermédiaire de l'objet DTE2, via sa propriété Debugger, comme illustré dans l'exemple ci-dessous. Un objet débogueur est disponible pour chaque instance de l'environnement de développement.
Exemples
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;
}