Codeview: Microsoft erweitert LLVM um eigenes Debug-Format

Der Debugger Codeview von Microsoft stammt aus den 80er Jahren und ist längst überholt. Dessen Format zum Speichern von Informationen gibt es aber weiterhin und Microsoft setzt dies nun auch in LLVM um.

Artikel veröffentlicht am ,
LLVM soll Debug-Informationen in Microsofts Codeview-Format erzeugen können.
LLVM soll Debug-Informationen in Microsofts Codeview-Format erzeugen können. (Bild: LLVM)

Mit einer neuen Code-Bibliothek erweitert Microsoft das LLVM-Projekt um die Unterstützung des Codeview-Formats für Debug-Informationen. Der Debugger Codeview erschien Mitte der 80er Jahre als Teil der Entwicklungswerkzeuge für die Microsoft-C-Implementierung. Später diente die Anwendung unter anderem als Debugger für Visual Basic in MS-Dos. Obwohl das Programm selbst nicht mehr verwendet wird, werden bestimmte Eigenheiten davon, wie eben das Informationsformat, weiterhin von Microsoft genutzt.

Der nun verfügbare Code bilde der Erklärung in dem Patch zufolge erst den Anfang der Arbeiten zur vollständigen Unterstützung von Codeview. So soll es künftig etwa möglich werden, einen Speicherauszug (Dump) zu erstellen, Tests für den Code sollen ebenso entstehen. Darüber hinaus müssen die Debug-Informationen deutlich ausgebaut werden, da derzeit lediglich die Datentypen aufgezeichnet werden. Das Erzeugen weitergehender Informationen sollte mit dem bereits verfügbaren Code jedoch vereinfacht werden, heißt es.

Die Bibliothek bietet zurzeit außerdem eine Schnittstelle, die sehr maschinennah ist. Aber auch dies solle ausgebaut werden, so dass eine vergleichsweise stark abstrahierende Schnittstelle genutzt werden könne. Letzteres sollte schließlich dem Einsatz in Debugger dienen. Die bisher zur Verfügungen stehenden Funktionen seien für Compiler und Linker aber ausreichend.

Vor knapp einem Jahr hat das LLVM-Team damit begonnen, seinen eigenen Debugger, LLDB, auf Windows zu portieren. Einer der Gründe dafür war, dass der LLVM-Compiler Clang mit Dwarf ein eigenes Debug-Format nutze, das mit LLDB überprüft werden könnte. Die Beteiligten gaben ebenso an, dass LLDB nach einer Portierung um die Unterstützung für das Windows-eigene Debug-Format erweitert werden könne.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Reddit
Stundenlanger Ausfall, weil niemand mehr den Code kennt

Die Analyse eines schwerwiegenden Ausfalls bei Reddit zeigt, wie kritisch institutionelles Wissen sein kann.

Reddit: Stundenlanger Ausfall, weil niemand mehr den Code kennt
Artikel
  1. Entlassungen bei Techfirmen: Weniger Manager sind besser
    Entlassungen bei Techfirmen
    Weniger Manager sind besser

    Entlassungen sind schlimm, aber die Begründungen dafür etwa von Meta kann ich zum Teil verstehen. Auch die Forderungen nach Rückkehr ins Büro finde ich richtig.
    Ein IMHO von Brandur Leach

  2. Huawei: Innenministerium wird keine US-Sanktionen überprüfen
    Huawei
    Innenministerium wird keine US-Sanktionen überprüfen

    Das Bundesinnenministerium kann weder US-Sanktionen gegen Huawei in Deutschland einfordern, noch interne Verträge der Telekom einsehen.

  3. Parkvision: Parkplatz-KI überwacht Laufwege und bestraft Fremdeinkäufer
    Parkvision
    Parkplatz-KI überwacht Laufwege und bestraft Fremdeinkäufer

    Wer auf einem kameraüberwachten Parkplatz eines Gelsenkirchener Supermarkts parkt, darf nur dort einkaufen. Wer zusätzlich woanders hingeht, zahlt Strafe.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • Ryzen 9 7900X3D 619€ • Crucial SSD 2TB (PS5) 158€ • Neu: Amazon Smart TVs ab 189€ • Nur bis 24.03.: 38GB Allnet-Flat 12,99€ • MindStar: Ryzen 9 5900X 319€ • Nintendo Switch inkl. Spiel & Goodie 288€ • NBB Black Weeks: Rabatte bis 60% • PS5 + Spiel 569€ • LG OLED TV -57% [Werbung]
    •  /