Debug- Routinen
Die Debugversion des C-Laufzeitbibliotheks-Zubehör viele Diagnose Debugprogramme, die Dienste vereinfachen und Entwickler können:
Schritt direkt auf Laufzeitfunktionen während des Debuggens
Assertionen aufgelöst, Fehler und Ausnahmen:
Vollziehen Sie nach Heapbelegungen und vermeiden Sie Speicherverluste
Debuggen von Meldungen an den Benutzer des Berichts
Um diese Routinen zu verwenden, muss das _DEBUG-Flag definiert sind.Alle diese Routinen ausführen nichts in einem Verkaufsversionsbuild einer Anwendung.Weitere Informationen zur Verwendung der neuen Debuggen von Routinen finden Sie unter CRT-Debug-Technikenverwendet.
Debugversionen der C-Laufzeitbibliotheks-Routinen
Routine |
Verwendung |
NET Framework-Entsprechung |
---|---|---|
Werten Sie einen Ausdruck aus und generiert ein Debugbericht, wenn das Ergebnis ist FALSCH |
||
Ähnlich wie _ASSERT, aber schließen den fehlgeschlagenen Ausdruck im generierten Bericht ein |
||
Überprüfen Sie die Integrität der Speicherblöcke, die auf dem Debugheap zugewiesen werden |
||
Legt einen Haltepunkt fest. |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Generieren Sie ein Debugbericht mit einer Benutzer und senden Sie für eine des Berichts drei möglichen Zielen |
System::Diagnose::Debuggen::Schreiben, System::Diagnose::Debuggen::Writeline, System::Diagnose::Debuggen::WriteIf, System::Diagnose::Debuggen::WriteLineIf |
|
Rufen Sie eine von der Anwendung bereitgestellte Funktion für alle Typen _CLIENT_BLOCK auf dem Heap an |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Speichern Sie alle Speicherblöcke im Debugheap, wenn ein bedeutender Speicherverlust aufgetreten ist |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Überprüfen Sie, ob ein angegebener Speicherblock im lokalen Heap befindet und dass er einen Bezeichner des Debugheaps gültigen Blocktyp verfügt |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Überprüft, ob ein angegebener Zeiger im lokalen Heap ist |
Nicht zutreffend.Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Überprüfen Sie, ob ein angegebener Speicherbereich für das Lesen und Schreiben gültig ist |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Ruft den aktuellen Zustand des Debugheaps ein, und speichern Sie ihn in einer von der Anwendung bereitgestellt _CrtMemState Struktur |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Vergleicht zwei Speicherzustände für signifikante Unterschiede und geben Sie die Ergebnisse zurück |
Nicht zutreffend.Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Speichern von Informationen über Objekte auf dem Heap, da ein gegebener Prüfpunkt oder Beginn der Programmausführung aufgezeichnet wurde |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Speichern Sie die Debuginformationen Headerinformationen für einen angegebenen Speicherzustand in einer USER-lesbaren Form |
||
Gibt das Blockformat-/den Untertyp eines bestimmten Debugheap blocks zugeordnete Zeiger zurück. |
Nicht zutreffend.Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Installieren Sie eine clientdefinierte Zuornungsanzahl-Funktion, indem Sie sie in haken Familie der Prozess der C-Laufzeit - Debuggen |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Legen Sie einen Haltepunkt für eine angegebene Objekt fest bestellnummer zuordnungs |
Nicht zutreffend.Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Rufen Sie bzw. ändern Sie den Zustand des _crtDbgFlag-Flags ab, die das Verhalten des Zuordnungen zu steuern managers Debugheap |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Richten Sie eine von der Anwendung definierte Funktion, die jedes Mal eine Dumps für Reservierungen wird aufgerufen, um _CLIENT_BLOCK-Typ speicherblöcke Namen zu speichern |
Nicht zutreffend.Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Identifizieren Sie die Datei oder einem Stream Sie als Ziel für einen bestimmten Bericht _CrtDbgReportnach Typ der zu verwendenden |
Nicht zutreffend.Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Installieren Sie eine clientdefinierte Berichtsfunktion, indem Sie sie in Berichten haken Prozess der C-Laufzeit - Debuggen |
Nicht zutreffend.Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Installiert oder deinstalliert eine clientdefinierte Berichtsfunktion indem das Haken in den Prozess der C-Laufzeit - Debuggen von Berichten. |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Geben Sie die allgemeinen Ziele für einen bestimmten Typ des Berichts an, der von den generierten _CrtDbgReport |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Verfolgen Sie den Status der Anwendung verfolgen, indem Sie ein Debugbericht generiert werden, indem Sie _CrtDbgReport mit einer Formatzeichenfolge und einer variablen Anzahl von Argumenten aufrufen.Stellt keine Quelldatei- und Zeilennummerinformationen bereit. |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Ähnlich wie den _RPTn Makros, sondern stellt den Namen der Quelldatei und Zeilennummer, in der der Bericht die Anforderung stammt |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Ordnen Sie eine bestimmte Anzahl Speicherblöcke auf dem Heap mit zusätzlichem Speicher für einen Header des Debuggens und überschreiben Sie Puffer |
Nicht zutreffend.Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Ändern eines angegebenen Speicherblock auf dem Heap Größe indem Sie den Block erweitern oder Vertrag abschließen |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Geben Sie einen Speicherblock frei auf dem Heap |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Erstellen Sie ein absoluter oder einen vollständigen Pfadnamen für den angegebenen relativen Pfadnamen mit _malloc_dbg , um Speicher belegen. |
||
Ruft das aktuelle Arbeitsverzeichnis, mit _malloc_dbg ab, um Speicher belegen. |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Ordnen Sie einen Speicherblock auf dem Heap mit zusätzlichem Speicher für einen Header des Debuggens und überschreiben Sie Puffer |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Berechnen Sie die Größe eines Speicherblocks auf dem Heap |
Nicht zutreffend.Um die Standard-C-Funktion aufzurufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Teilt einen angegebenen Speicherblock auf dem Heap neu, indem Sie den Block verschieben und/oder ihre Größe ändern |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
|
Dupliziert eine Zeichenfolge, mit _malloc_dbg , um Speicher belegen. |
||
Generieren von Namen, die Sie verwenden können, um temporäre Dateien mit _malloc_dbg zu erstellen, um Speicher belegen. |
Nicht zutreffend.Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke.Weitere Informationen finden Sie unter Plattformaufruf-Beispiele. |
Die Debuggen von Routinen können verwendet werden, um den Quellcode für die meisten anderen C-Laufzeit-Routinen während des Debuggens Prozesses zu wechseln.Bei einigen Technologie als herstellereigen Microsoft betrachtet und daher stellt den Quellcode für diese Routinen bereit.Die meisten dieser Routinen gehören der Ausnahmebehandlung oder Float, die Gruppen verarbeitet werden, aber einige weitere werden ebenfalls eingeschlossen.In der folgenden Tabelle sind diese Routinen auf.
C-Laufzeit-Routinen, die nicht in der Quellcode-Form verfügbar sind
printf, _printf_l, wprintf, _wprintf_l, _printf_s_l, wie, wprintf_s, _wprintf_s_l* |
||
scanf, _scanf_l, wscanf, _wscanf_l, scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l* |
||
|
* Obwohl Quellcode für die meisten dieser Routine verfügbar ist, führt er einen internen Aufruf einer anderen Routine, für den Quellcode nicht bereitgestellt wird.
Einige und C-Laufzeitfunktionen C++-Operatoren verhalten sich anders, wenn sie mit einem Debugbuild einer Anwendung aufgerufen werden.(Beachten Sie, dass ein Debugbuild einer Anwendung ausgeführt werden können, indem er das _DEBUG-Flag definiert oder indem er mit einer Debugversion der C-Laufzeitbibliothek) verknüpft. Die Verhaltensunterschiede bestehen in der Regel aus Funktionen oder zusätzlichen Informationen, die von der Routine bereitgestellt werden, um den Debugprozess zu unterstützen.In der folgenden Tabelle sind diese Routinen auf.
Routinen, die sich in einem Debugbuild Verhalten einer Anwendung
C Abbruch Routine |
Operator Löschen C++ |
C Assert Routine |
Operator neu C++ |
Weitere Informationen zur Verwendung der Debugversionen der C++-Operatoren in der vorangehenden Tabelle finden Sie unter Verwenden des Debugheaps von C++.