AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

wo ist tdstrp32?

Ein Thema von himitsu · begonnen am 13. Dez 2021 · letzter Beitrag vom 15. Dez 2021
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.549 Beiträge
 
Delphi 12 Athens
 
#1

AW: wo ist tdstrp32?

  Alt 15. Dez 2021, 01:43
Jo, bei einer Installation ist diese Datei vorhanden und bei 3 Anderen fehlt sie.
Ist schon bissl unpraktisch, wenn man Sie gebrauchen würde.


Der erste Versuch sieht erstmal OK aus. Ob die entstandene TDS wirklich korrekt ist und vom tds2pdb verwendet werden kann, müsste ich später noch prüfen.
Wenn ich die Sektion mit 7-Zip raushole, dann sind am Anfang 32 Byte zuviel und am Ende scheit es zu stimmen.
Code:
"C:\Program Files (x86)\7-Zip\7z.exe" e -so Test.exe .debug > Test.exe.tmp
if not errorlevel 1 "C:\Program Files\Git\bin\bash.exe" -c "dd bs=32 skip=1 if=Test.exe.tmp of=Test.exe.tds"
del Test.exe.tmp
Ganz genau kann ich's aber nicht vergleichen, da bei zwei Kompilierungen unterschiedliche Debuginfos entstehen und sich zwischendrin paar viele Bytes unterscheiden.
Scheint jedenfalls so zu sein, wenn ich einmal "mit DebugInfos" kompiliere, dann nochmal "mit Debuginfos in .TDS" und dann meinen Export damit vergleiche.


PS: Mit map2dbg funktioniert WalkStack ganz gut, außer dass dort die Zeilennummern fehlen, aber dafür braucht man dort keine TDS.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (15. Dez 2021 um 02:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.549 Beiträge
 
Delphi 12 Athens
 
#2

AW: wo ist tdstrp32?

  Alt 15. Dez 2021, 23:43
Also, das mit 7-Zip und entfernen der ersten 32 Byte stimmt so.

Bei tdstrp32 und StripTDS kommt das "gleiche" Ergebnis raus, allerdings löschen die auch immer die Sektion in der EXE, welche ich eigentlich behalten will.
So könnte man aber auch gleich direkt vom Delphi als Debuginfos als TDS speichern lassen, ohne dass sie in der EXE landen und hätte das "selbe" Ergebnis.

Da es tdstrp32 mit Dateinamen sehr genau nimmt und scheinbar unbedingt exe/dll/bpl als Endung vorhanden sein muß,
geht es so nicht
Code:
copy Test.exe Test.tmp
tdstrp32.exe -s Test.tmp
del Test.tmp
aber wenigstens so
Code:
copy Test.exe Test.exe.exe
tdstrp32.exe -s Test.exe.exe
del Test.exe.exe
ren Test.exe.tds Test.tds
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz