» »

Kako debugirati dll ?

Kako debugirati dll ?

l0g1t3ch ::

Kako bi najlažje debugiral nek dll o katerem nevem praktično ničesar.
Ugotovil sem, da ima tri public funkcije, sedaj pa me zanima kako debugirat to ? Vse kar bi rad bi, da bi lahko na te tri funkcije postavil breakpointe in, da videm kdaj se katera funkcija pokliče in z kakšnimi parametri ter kaj vrne.
Sklepam, da če funkcije niso preveč komplicirane, da se da ugotovit tip podatkov za argumente funkcije in tip, ki ga vrača ali se motim tukaj ?

Hvala za pomoč.

Senitel ::

Kje to delaš? Načeloma ne bo šlo drugače kot z disassemblyem. Torej naložiš funkcijo, jo pokličeš in potem greš z debuggerjem čez disassembly in pogledaš kaj oziroma koliko parametrov jemlje iz stacka. Ugotovit semantiko bo pa rahlo bolj zabavno...

l0g1t3ch ::

Z uporabo DLL Export Viewer-ja sem pogledal kere funkcije dll exporta in njihov address space. Sedaj pa me zanima, kako to naložit v debuger in debugirat.
Se da to počet recmo z visual studiom 2010 ?

Drugače pa predvidevam kaj naj bi bili parametri, vsaj pri eni funkciji naj bi šla noter dva stringa.

Zgodovina sprememb…

  • spremenilo: l0g1t3ch ()

Senitel ::

Ja kaj iz Visual Studia 2010? C#, C++, Visual Basic?
Za C++ imaš LoadLibrary/FreeLibrary in GetProcAddress. Daš en dummy prototip za funkcijo iz DLL-ja in jo pač pokličeš in greš gledat z debuggerjem. Druga opcija je da disassemblaš DLL direkt.
Če funkcije vzamejo stringe not kot C stringe (char*) potem je to simpl. Lahko imaš pa recimo std::string... Ali pa kakšno čudno custom implementacijo stringov in potem si screwed. :)

l0g1t3ch ::

Naredu sm en testni projkt v c++ in enega v c# in če dodam ta dll pod reference mi usuje VS.

Senitel ::

Ne dodaš DLL-ja pod reference...
DLL naložiš dinamično z LoadLibrary (C++).

amigo_no1 ::



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

instalacija dll-ja

Oddelek: Operacijski sistemi
6907 (712) settler
»

[Visual Studio .NET] Uvoz Delphi DLL-ja v okolje ASP.NET

Oddelek: Programiranje
101575 (1476) Kekec
»

Win32 API in statične knjižnice

Oddelek: Programiranje
71234 (1141) CCfly
»

Uporaba .dll

Oddelek: Programiranje
61371 (1331) Vesoljc
»

Win32 API in C++

Oddelek: Programiranje
131553 (1424) Monster

Več podobnih tem