Was macht "sudo nvram boot-args="debug=0x10"" mit meinem Mac?

Da Parallels Desktop 10 und Fusion 7 beide langsam auf Yosemite laufen, gibt es KB-Artikel, die die Benutzer zum Ausführen bringen

sudo nvram boot-args="debug=0x10"

Zum Beispiel hier: http://kb.parallels.com/122767

Ich habe herausgefunden, dass 0x10 "ddb zum Standard-Debugger macht". Aber ich habe keine Ahnung, was das bedeutet, aber es klingt beängstigend.

Was macht dieser Befehl mit Yosemite/dem Mac? Kann es noch andere Nebenwirkungen haben?

Antworten (1)

sudo nvram boot-args="debug=0x144"

Dies ist eine Kombination von Kernel-Debugging-Funktionen, die Ihnen zusätzliche Informationen über die Kernel-Prozesse anzeigen, was außerordentlich nützlich sein kann, wenn auf einem System Kernel-Panics auftreten. Eine weitere Option ist die Verwendung von debug=0x14e, wodurch noch mehr Protokollierungsoptionen angezeigt werden. Der Hauptzweck dafür ist, dass es Kernel-Paniks im alten Stil ermöglicht, die auf dem Bildschirm einen gescrollten Text darüber anzeigen, warum das System in Panik geraten ist, anstatt den grauen Hintergrund und die Meldung anzuzeigen, dass Sie Ihr System lediglich neu starten sollen. Alternative Debug-Optionen sind die folgenden, obwohl diese wahrscheinlich nur für Kernel-Programmierer nützlich sind:

  • 0x01 - Beim Booten anhalten und warten, bis der Debugger angefügt wird
  • 0x02 - Kernel-Debugging-Ausgabe an die Konsole senden
  • 0x04 – Drop in den Debugger bei einem nicht maskierbaren Interrupt
  • 0x08 - Kernel-Debugging-Informationen an eine serielle Schnittstelle senden
  • 0x10 - ddb zum Standard-Debugger machen
  • 0x20 - Diagnoseinformationen in das Systemprotokoll ausgeben
  • 0x40 – Ermöglicht dem Debugger ARP und Route
  • 0x80 - Unterstützt alte Versionen von gdb auf neueren Systemen
  • 0x100 – Deaktiviert den grafischen Panikdialogbildschirm

Quelle: Boot-Argumentoptionen in OS X

ddb ist nur ein Debugger. Es ist absolut sicher, diese Art von Modi zu aktivieren, um Informationen zu sammeln, sobald Systemprobleme aufgetreten sind.

Wie würde es helfen, einen Debugger zu aktivieren und mehr Protokollierung hinzuzufügen, um eine virtuelle Maschine zu beschleunigen?
Keine Möglichkeit, das zu beschleunigen. Danach sollten Sie das Ansehen der Protokolle aktivieren und nach Fehlern, Problemen usw. suchen, mit denen Sie Ihr Problem beheben können.
Die Sache ist: Es funktioniert wirklich. Parallels hat ein Tool, das Hunderttausende von Interrupts anzeigt, die die VM verlangsamen. Mach das debug=0x10und das Problem ist weg.
Ich kann auch bestätigen, dass Parallels durch die Änderung normal läuft.
@Krumelur - es ist denkbar, dass durch Aktivieren des Debuggers die Interrupts zum Handler des Debuggers umgeleitet werden (und vielleicht ignoriert der Standard-Handler sie).