Aktualisiert: Dezember 2015 Oracle reg Solaris Studio 12.4: Entdecken und Aufdecken von Benutzerhandbuch Dokumentinformationen zu dieser Dokumentation Produktdokumentation Bibliothek Rückmeldung Kapitel 1 Einleitung Memory Error Discovery Tool (Entdecken) Code Coverage Tool (Entdecken) Kapitel 2 Memory Error Discovery Tool (Entdecken) Anforderungen Für die Verwendung von Discover Binaries korrekt vorbereiten Binaries, die Preloading oder Auditing verwenden, sind nicht kompatibel Einfaches Programmbeispiel Instrumentieren eines vorbereiteten Binärcachings Gemeinsam genutzte Bibliotheken Instrumentierung Freigegebene Bibliotheken Ignorieren von Bibliotheken Überprüfen von Teilen einer Bibliothek oder einer ausführbaren Befehlszeilenoptionen Ausgabeoptionen Instrumentierungsoptionen Zwischenspeicheroptionen Andere Optionen Bit. rc Initialisierungsdateien Ausführen einer instrumentierten Binary Hardware-Assisted Prüfung mit Silicon gesicherten Speicher (SSM) die libdiscoverADI Bibliothek zu Memory Access Fehler Fehler durch libdiscoverADI Instrumentation Optionen Gefangen finden für discover ADI-Modus Anforderungen und Einschränkungen der Verwendung von libdiscoverADI Beispiel von ADI-Modus mit entdecken Analyzing entdecken Berichte Analyse der HTML-Bericht der Registerkarte Fehler Mit den Warnungen Mit Tab, um den Speicher verwenden Leaks Tab über das Bedienfeld die ASCII-Bericht ASCII Warn - und Fehler Analyse Nachrichtenbeschreibungen ASCII-Speicherverlust Bericht ASCII Stack Trace Bericht ASCII Report Summary entdecken APIs und Umgebungsvariablen entdecken APIs Speicherlecks zu finden Mit entdecken APIs Lecks in einem Server oder lang laufende Programm SUNWDISCOVEROPTIONS Umgebungsvariable SUNWDISCOVERFOLLOWFORKMODE Environment Variable Speicherzugriffsfehler und Warnungen Speicherzugriffsfehler ABR ABW BFM BRP CGB DFM FMR FMW FRP IMR IMW Speicherverlust OLP PIR SBR SBW UAR Finding UMR Memory Access Warnungen interpretieren entdecken Fehlermeldungen teilweise initialisierten Speicher Spekulative Lasten uninstrumentierten-Code Einschränkungen bei der Verwendung von nur entdecken Kommentierte Code wird instrumentierte Maschinenbefehle aus dem Quellcode-Compiler-Optionen abweichen den generierten Code Systembibliotheken Auswirkungen auf die gemeldeten Fehler Benutzerdefinierte Memory Management kann Auswirkungen Kann die Affect die Genauigkeit der Daten Out of Bounds-Fehler für statische und automatische Arrays können nicht Kapitel 3 Code Coverage Tool erfasst werden (uncover) Voraussetzungen für die Verwendung aufdecken aufzudecken mit instrumentieren die Binary Ausführen des instrumentierten Binary Erstellen und Anzeigen von Coverage-Bericht Coverage Bericht in Performance Analyzer Verständnis Übersicht Bildschirmfunktionen Ansicht Uncoverage Zähler (bitUNCV) Funktion Count Zähler (bitfcoun) Instr Exec Zähler (BiTE) Block Covered Zähler (bitBCV) Instr Covered Zähler (bitICV) Quelle Zeichnung Demontage anzeigen Inst-Freq anzeigen der ASCII-Coverage-Bericht Verständnis für die HTML-Coverage zu verstehen Berichtsbeschränkungen bei der Verwendung von aufgetretenem, nur annotiertem Code können analysierte Compileroptionen beeinflussen Generierte Code-Maschinenanweisungen können von Quellcode abweichen Indexindex B Index D Index I Index N Index R Index S Index U APIs und Umgebungsvariablen entdecken Es gibt mehrere Entdeckungs-APIs und Umgebung Die Sie in Ihrem Code angeben können. Entdecken von APIs Oracle Solaris Studio 12.4 implementiert sechs neue Erkennungsfunktionen, die Sie von Ihrem Programm aufrufen können, um Speicherleck - und Speicherzuweisungsinformationen zu empfangen. Diese Funktionen drucken die Informationen auf stderr. Am Ende der Programmausgabe wird standardmäßig der letzte Speicherbericht mit den Speicherverlusten des Programms aufgerufen. Um diese APIs verwenden zu können, muss die Quelldatei der Anwendung die Headerdatei für discover enthalten. Umfassen ltdiscoverAPI. hgt. Die Funktionen und ihre Berichte sind wie folgt: Berichtet alle Speicherzuweisungen Meldet alle zuvor nicht gemeldeten Speicherzuordnungen. Markiert alle Speicherzuweisungen so weit wie gemeldet. Zeigt alle Speicherlecks an. Zeigt alle bisher nicht gemeldeten Speicherlecks an. Markiert alle Speicherlecks so weit wie gemeldet Dieser Abschnitt beschreibt einige Methoden für die Arbeit mit Discover APIs. Hinweis 45 Die Erkennungs-APIs funktionieren nicht im ADI-Modus. Suchen von Speicherlecks mit Erkennungs-APIs Ermitteln Sie für jede in Ihrem Code angegebene Funktion, wo der Arbeitsspeicher zugewiesen wurde. Speicherlecks werden dem Speicher zugewiesen, der im Programm nicht erreichbar ist. Das folgende Beispiel zeigt, wie Sie diese APIs verwenden können: Das folgende Beispiel zeigt die erwartete Ausgabe. Finden von Lecks in einem Server oder einem Long-Running-Programm Wenn Sie ein langwieriges Programm oder einen Server haben, der niemals beendet wird, können Sie diese Discover-Funktionen jederzeit mit dbx aufrufen, auch wenn Sie die Anrufe nicht in Ihren Code gestellt haben. Das Programm muss mit mindestens der Licht-Modus der Entdeckung mit der ndashl-Option ausgeführt worden sein. Beachten Sie, dass dbx an ein laufendes Programm anhängen kann. Das folgende Beispiel zeigt, wie Lecks in einem langlebigen Programm zu finden sind. Beispiel1601160160 Zwei Lecks in einem Long-Running-Programm finden In diesem Beispiel handelt es sich bei der a. out-Datei um ein langlebiges Programm mit zwei Prozessen mit jeweils einem Leck. Jedem Prozess wird eine Prozess-ID zugewiesen. Das folgende rl-Skript enthält die Befehle, mit denen das Programm aufgefordert wird, nicht gemeldete Speicherlecks zu melden. Sobald Sie ein Programm und ein Skript haben, können Sie entdecken und das Programm ausführen. In einem separaten Terminalfenster können Sie das Skript auf dem übergeordneten Prozess ausführen. Das Programm meldet folgende Informationen für den übergeordneten Prozess: Führen Sie das Skript erneut für den unterordneten Prozess aus. Das Programm meldet die folgenden Informationen für den untergeordneten Prozess: Sie können das Skript wiederholt verwenden, um neue Lecks zu finden. SUNWDISCOVEROPTIONS Umgebungsvariable Sie können das Laufzeitverhalten einer instrumentierten Binärdatei ändern, indem Sie die Umgebungsvariable SUNWDISCOVEROPTIONS auf eine Liste der Befehlszeilenoptionen ndasha setzen. NdashA. Ndashb. Ndashe NdashE. Ndashf. NdashF. NdashH. Ndashl. NdashL. Ndashm. NdashP. NdashS Und ndashw. Wenn Sie z. B. die Anzahl der gemeldeten Fehler auf 50 ändern und die Stacktiefe im Bericht auf 3 beschränken möchten, legen Sie die Umgebungsvariable wie folgt fest:. SUNWDISCOVERFOLLOWFORKMODE Umgebungsvariable Wenn Sie eine Binärdatei, die Sie mit Entdeckungsforks während des Ausführens des Programms instrumentiert haben, entdecken, werden weiterhin Speicherzugriffsfehlerdaten aus den übergeordneten und untergeordneten Prozessen erfasst, was bedeutet, dass das Standardverhalten beides ist. Beispielsweise. Sollten Sie die Umgebungsvariable SUNWDISCOVERFOLLOWFORKMODE festlegen, um die Gabel zu erfassen und Speicherzugriffsdaten aus dem untergeordneten Prozess zu sammeln, um folgende Anforderungen zu erfüllen: Copyright 169 2011, 2015, Oracle und / oder ihre verbundenen Unternehmen. Alle Rechte vorbehalten. Rechtliche HinweiseDies ist ein Dienstprogramm zum Konvertieren von scharfen Computern, die Bänder in ASCII - oder binäre Bilddateien speichern. Die Quelldatei ist nun verfügbar und unter der GPL lizenziert, bitte lesen Sie die mitgelieferte Datei copying. txt. Zögern Sie nicht, mir jede neue Version weiterzuleiten, um sie der Gemeinschaft zur Verfügung zu stellen. Norbert Roll schrieb eine Mac OSX-Version von WAV2BIN (basierend auf der 1.33 Windows-Version): Die Windows-Oberfläche steht für WAV2BIN auf der Antons-Website zur Verfügung :-). Diese Software ist in Ansi C geschrieben, übersetzbar mit jedem Compiler (ich habe eine alte Borland C Version 3.1 verwendet wird). Digitalisieren Sie das Audioband in einer WAV-Datei (11 kHz empfohlen), oder besser, zu digitalisieren direkt von der Sharp Band-Schnittstelle (stecken Sie das Band-Schnittstelle Ausgabe auf den MIC-Eingang Soundkarte). In einem DOS-Shell-Typ: RECEIVESTATUSLOWPOWER 0x02, der bei niedrigem Ausgangsleistungspegel empfangen wird, muss dieser denselben Wert haben wie TRANSMITOPTIONLOWPOWER / RECEIVESTATUSTYPEMASK 0x0C Maske zum Ausblenden der empfangenen Frametypbits / RECEIVESTATUSTYPESINGLE 0x00 Empfangener Frame ist Singlecast-Frame (rxOptions xxxx00xx) / RECEIVESTATUSTYPEBROAD 0x04 Empfangener Rahmen ist Sendungsrahmen (RxOptions xxxx01xx) / RECEIVESTATUSTYPEMULTI 0x08 Empfangener Rahmen ist Mehrfachrahmen (rxOptions xxxx10xx) / RECEIVESTATUSTYPEEXPLORE 0x10 Empfangener Rahmen ist ein Erkundungsrahmen (RxOptions xxx1xxxx) / RECEIVESTATUSFOREIGNFRAME 0x40 Empfangener Rahmen wird nicht zu mir gesendet (nützlich nur im promiscuous Modus ) / NODEBROADCAST 0xFF Broadcast / TRANSMITCOMPLETENOACK 0x01 Neuübertragung Fehler / TRANSMITCOMPLETEFAIL 0x02 Übertragungsfehler / TRANSMITROUTINGNOTIDLE 0x03 Übertragungsfehler / TRANSMITCOMPLETENOROUTE 0x04 keine Route in assignroute / deshalb wurde nichts gefunden übertragen /
No comments:
Post a Comment