Remote debugging v Delphi

vložil Radek Červinka 21. února 2010 23:24

Sem tam je vhodné provádět ladění přímo na počítači klienta, protože na vývojovém počítači nejde problém nasimulovat. Samozřejmě v takovýchto případech není vhodné (a ani často možné) instalovat Delphi na počítač klienta a proto Delphi nabízejí možnost vzdáleného ladění (Remote debugging). Jak tedy na to?

Ukážeme si to na Delphi 2010 (nutný service pack 4 a 5 - opraveny některé problémy), ale remote debugging je podporován i na starších Delphi, jen se mohou lišit názvy souborů (viz dále).

V prvním kroku na cílovém počítači musíme nainstalovat podporu pro ladění. Z adresáře Delphi zkopírujeme na cílový počítač tyto soubory (platí pro Delphi 2010 - verze Delphi je 14, tj. patřičně upravte názvy souborů podle Vaší verze Delphi - pozor podle některých ohlasů je v Delphi 2005 a 2006 slabší podpora). Mimochodem na instalačním médiu bývá i instalátor pro remote debugger, ale takto je to univerzální.

bccide.dll
bordbk140.dll
bordbk140N.dll
comp32x.dll
DCC140.dll
rmtdbg140.exe

Nyní je třeba ještě soubory zaregistrovat:

regsvr32 bordbk140.dll
regsvr32 bordbk140n.dll

Tak máme hotovo (nutno samozřejmě jen poprvé) a můžeme jít ladit.

Nejdříve na cílovém počítači spustíme podporu pro remote debugger (rmtdbg140.exe), který byl předtím zkopírován a po spuštění se nám zobrazí ikona v tray.

Remote debugging tray

Nyní u projektu zapneme Remote debug symbols a pokud nemáme tak i Debug information. Tím prvním se nám při kompilaci budou vytvářet i RSM soubory.

Remote options

Přeloženou binárku spolu s rsm soubory překopírujeme na počítač klienta. A v menu Run zvolíme možnost Load Process

Remote debugging start

… a v záložce Remote vyplníme patřičné pole (viz obrázek - adresáře jsou z pohledu na cílovém počítači).

Remote debugging

Nyní jen klikneme na Load a program se zastaví na prvním řádku programu (tedy nejčastěji na první řádce kódu v dpr souboru) a můžete nastavit breakpointy nebo prostě dělat co potřebujete jako při normálním ladění. A to je vše.

V případě problémů s komunikací je vhodné prověřit komunikaci mezi počítači třeba pomocí ping (a zkontrolovat firewall, různé rádobychytré antiviry a pod.).

Tagy: , , , ,

Praxe

Komentování ukončeno

Naše nabídka

MVP
Ing. Radek Červinka - Embarcadero MVP
profil na linkedin, Twitter:@delphicz

Nabízím placené poradenství a konzultace v oblasti programování a vývoje SW.
Dále nabízíme i vývoj speciálního software na zakázku.

Neváhejte nás kontaktovat (i ohledně reklamy).

love Delphi

O Delphi.cz

Delphi je moderní RAD nástroj podporující tvorbu nativních aplikací pro platformu Win32, Win64, Mac OSX, Linux a na iPhone a Android.

Delphi.cz je nezávislý portál pro uživatele Delphi. Portál není koncipován pro úplné začátečníky, i když i ti se zde nebudou nudit, ale spíše na programátory, kteří již něco znají a chtějí své znalosti dále rozvíjet a sledovat novinky.

Poslední komentáře

Comment RSS

Dle měsíců