Debugger3, interface
Debugger3 est utilisé pour interroger et manipuler l'état du débogueur et le programme en cours de débogage. Debugger3 remplace les interfaces Debugger2 et Debugger.
Espace de noms : EnvDTE90
Assembly : EnvDTE90 (dans EnvDTE90.dll)
Syntaxe
'Déclaration
<GuidAttribute("87DFC8DA-67B4-4954-BB89-6A277A50BAFC")> _
Public Interface Debugger3 _
Inherits Debugger2
[GuidAttribute("87DFC8DA-67B4-4954-BB89-6A277A50BAFC")]
public interface Debugger3 : Debugger2
[GuidAttribute(L"87DFC8DA-67B4-4954-BB89-6A277A50BAFC")]
public interface class Debugger3 : Debugger2
[<GuidAttribute("87DFC8DA-67B4-4954-BB89-6A277A50BAFC")>]
type Debugger3 =
interface
interface Debugger2
end
public interface Debugger3 extends Debugger2
Le type Debugger3 expose les membres suivants.
Propriétés
Nom | Description | |
---|---|---|
AllBreakpointsLastHit | (Hérité de Debugger2.) | |
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 Debugger2.) | |
BreakpointLastHit | Obtient le dernier point d'arrêt ayant fait l'objet d'un accès. | |
Breakpoints | (Hérité de Debugger2.) | |
Breakpoints | Obtient une collection de points d'arrêt. | |
CurrentMode | (Hérité de Debugger2.) | |
CurrentMode | Obtient le mode actuel du débogueur dans le contexte de l'IDE. | |
CurrentProcess | (Hérité de Debugger2.) | |
CurrentProcess | Obtient ou définit le processus actif. | |
CurrentProgram | (Hérité de Debugger2.) | |
CurrentProgram | Définit ou retourne le programme actif. | |
CurrentStackFrame | (Hérité de Debugger2.) | |
CurrentStackFrame | Obtient ou définit le frame de pile actuel. | |
CurrentThread | (Hérité de Debugger2.) | |
CurrentThread | Obtient ou définit le thread actuellement en cours de débogage. | |
DebuggedProcesses | (Hérité de Debugger2.) | |
DebuggedProcesses | Obtient la liste des processus en cours de débogage. | |
DTE | (Hérité de Debugger2.) | |
DTE | Obtient l'objet d'extensibilité de niveau supérieur. | |
ExceptionGroups | Obtient les paramètres d'exception du débogueur.Pour chaque exception, ces paramètres déterminent si le débogueur donne au code la possibilité de gérer l'exception avant que le débogueur n'arrête l'exécution. | |
ForceContinue | Obtient ou définit une valeur qui détermine si le débogueur s'arrête ou continue lorsqu'un point de trace ou un point d'arrêt termine l'exécution d'une macro.Le comportement par défaut est défini par l'utilisateur dans la boîte de dialogue au moment de la création du point de trace ou du point d'arrêt.Cette propriété peut être utilisée pour modifier le comportement par défaut. | |
HexDisplayMode | (Hérité de Debugger2.) | |
HexDisplayMode | Obtient ou définit une valeur qui indique si les expressions sont des sorties au format hexadécimal ou décimal. | |
HexInputMode | (Hérité de Debugger2.) | |
HexInputMode | Obtient ou définit une valeur qui indique si les expressions sont évaluées au format hexadécimal ou décimal. | |
Languages | (Hérité de Debugger2.) | |
Languages | Obtient la liste des langages pris en charge par le débogueur. | |
LastBreakReason | (Hérité de Debugger2.) | |
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 Debugger2.) | |
LocalProcesses | Obtient la liste des processus en cours d'exécution sur cet ordinateur. | |
OnlyLoadSymbolsManually | Obtient une valeur qui détermine si les symboles sont chargés manuellement ou automatiquement.L'utilisateur de Visual Studio peut déterminer ce paramètre dans la boîte de dialogue Options.Pour plus d'informations sur la définition de cette valeur dans Visual Studio, consultez Comment : spécifier un comportement de chargement et des emplacements de symboles. | |
Parent | (Hérité de Debugger2.) | |
Parent | Obtient l'objet parent immédiat de l'objet Debugger3 (DTE2). | |
SymbolCachePath | Obtient une chaîne qui contient le chemin d'accès au cache de symboles utilisé par Visual Studio lorsque vous téléchargez des symboles à partir d'un serveur de symboles.Vous pouvez spécifier le chemin d'accès au cache de symboles dans la boîte de dialogue Options.Pour plus d'informations, consultez Comment : utiliser un serveur de symboles. | |
SymbolPath | Obtient une chaîne qui contient les chemins d'accès aux fichiers de symboles .PDB utilisés par Visual Studio pour effectuer un débogage.L'utilisateur de Visual Studio peut spécifier des chemins d'accès aux symboles dans la boîte de dialogue Options.Pour plus d'informations, consultez Comment : spécifier un comportement de chargement et des emplacements de symboles. | |
SymbolPathState | Obtient une chaîne qui représente l'état de tous les chemins d'accès aux symboles pour les fichiers de symboles .PDB utilisés par Visual Studio pour effectuer un débogage. | |
Transports | (Hérité de Debugger2.) | |
Transports | Obtient une collection de transports de débogage pris en charge. |
Début
Méthodes
Nom | Description | |
---|---|---|
Break(Boolean) | (Hérité de Debugger2.) | |
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 Debugger2.) | |
DetachAll() | Détache de tous les programmes attachés. | |
ExecuteStatement(String, Int32, Boolean) | (Hérité de Debugger2.) | |
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 Debugger2.) | |
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(String, Boolean, Boolean, Int32) | (Hérité de Debugger2.) | |
GetExpression2(String, Boolean, 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.Cette fonction membre est similaire à GetExpression, mais avec un paramètre booléen supplémentaire dont la valeur peut être true pour indiquer que l'expression doit être évaluée en tant qu'instruction. | |
GetProcesses(Transport, String) | (Hérité de Debugger2.) | |
GetProcesses(Transport, String) | ||
Go(Boolean) | (Hérité de Debugger2.) | |
Go(Boolean) | Démarre l'exécution du programme à partir de l'instruction actuelle. | |
RunToCursor(Boolean) | (Hérité de Debugger2.) | |
RunToCursor(Boolean) | Exécute le programme jusqu'à la position actuelle du curseur du fichier source. | |
SetNextStatement() | (Hérité de Debugger2.) | |
SetNextStatement() | Définit l'instruction suivante à exécuter, en fonction de la position du curseur dans le fichier source actuel. | |
SetSymbolSettings | Définit différents paramètres pour les symboles .PDB utilisés par Visual Studio pour effectuer un débogage et force le rechargement de tous les symboles. | |
StepInto(Boolean) | (Hérité de Debugger2.) | |
StepInto(Boolean) | Effectue un pas à pas détaillé dans l'appel de fonction suivant, si possible. | |
StepOut(Boolean) | (Hérité de Debugger2.) | |
StepOut(Boolean) | Sort de la fonction active. | |
StepOver(Boolean) | (Hérité de Debugger2.) | |
StepOver(Boolean) | Passe à l'appel de fonction suivant. | |
Stop(Boolean) | (Hérité de Debugger2.) | |
Stop(Boolean) | Arrête le débogage et termine ou détache de tous les processus attachés. | |
TerminateAll() | (Hérité de Debugger2.) | |
TerminateAll() | Met fin à tous les processus de débogage en cours d'exécution. | |
WriteMinidump(String, dbgMinidumpOption) | (Hérité de Debugger2.) | |
WriteMinidump(String, dbgMinidumpOption) |
Début
Notes
Le débogueur est disponible via l'objet DTE2 grâce à sa propriété Debugger, comme illustré dans l'exemple ci-dessous. Un objet Debugger est disponible pour chaque instance de l'environnement de développement interactif.
Exemples
Imports System
Imports EnvDTE
Imports EnvDTE90
Imports EnvDTE90
Imports System.Diagnostics
Public Module Module1
'This function returns true if the debugger is actively debugging.
Function IsDebugging() As Boolean
Dim debugger As EnvDTE90.Debugger3
debugger = DTE.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 "dte90.olb" raw_interfaces_only named_guids
using namespace EnvDTE90;
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(&pDebugger3)) &&
pDebugger3
!= NULL){
dbgDebugMode mode;
if (SUCCEEDED(pDebugger3->get_CurrentMode(&mode))) {
if (mode != dbgDesignMode) {
printf("Debugger is active.\n");
nRet = 1;
}
else {
printf("Debugger is not active.\n");
}
}
}
}
}
CoUninitialize();
return nRet;
}