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 16. Dez 2021
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

wo ist tdstrp32?

  Alt 13. Dez 2021, 15:57
Moin,

in einer Delphi 11-Installation finde ich die tdstrp32.exe im BDSBIN,
aber in einer anderen Installattion sehe ich sie nicht,
sowie auch nicht im Delphi 10.4 oder XE.

Teilweise soll sie auch schon in C:\Windows\System32 gefunden worden sein, aber Emba versucht ja inzwischen sich da rauszuhalten.
Und hieß mal tdstrip, damals im Turbo Pascal (16 Bit).



Die StripTDS als Alternative ist bissl ungünstig.
TestComplete nicht auf jedem Rechner installiert und ich glaub fast nicht, dass ich die EXE lizenzrechnlich auf andere PCs kopieren dürfte.


[edit]
Ach ja, ich will die Debuginfos (TD32) in den EXE/DLL/BPL drin und nicht als externe Debuginfos (*.TDS) generieren lassen.
Brauch die TDS nur kurz, um daraus die PDB generieren zu können, da Delphi leider zu doof ist, PDB oder zumindestens DBG selbst anzubieten (oder CodeView im LLVM für Mac),
um dann zur Laufzeit die Stacktrace-Funktionen des OS nutzen zu können.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (13. Dez 2021 um 16:53 Uhr)
  Mit Zitat antworten Zitat
mmw
(Gast)

n/a Beiträge
 
#2

AW: wo ist tdstrp32?

  Alt 13. Dez 2021, 20:14
Hallo,

bei 10.4 Update 2 steht sie auch im Bin- Verzeichnis. Zumindestens bei mir.

evtl. liegt's hier dran.

"or the Turbo Debugger 32-bit Symbol Table Stripper utility that is shipped along with Borland Developer Studio 2006 (the utility is installed with Borland C++Builder 2006 and has the following path: <Program Files>\Borland\BDS\4.0\Bin\tdstrp32.exe)."

https://support.smartbear.com/testco...ebug-info.html

Gruß
Miniaturansicht angehängter Grafiken
bild1.png  

Geändert von mmw (13. Dez 2021 um 20:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: wo ist tdstrp32?

  Alt 15. Dez 2021, 02: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

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

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

AW: wo ist tdstrp32?

  Alt 16. Dez 2021, 00: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
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  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 05:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz