Jak debugować DLL wołany przez Javę
Ostatnio zmodyfikowano 2015-08-11 14:40
Borneq Temat założony przez niniejszego użytkownika |
Jak debugować DLL wołany przez Javę » 2015-08-09 17:11:01 Callera w C++ dało by się nawet napisać dla DLL gdyby nie to, że ta DLL komunikuje się z Javą i caller ma wysyłać do niej wskaźnik na struktury Javy. Czyli skompilowałem DLL, pozmieniałem cześć Javy, aby nie korzystała z DLL z Jara ale leżącego na ścieżce. Mam run.cmd : java com/borneq/catal/Main -Duser.dir=d:/bind7z/catal/bin -D java.library.path=d:/bind7z/jbinding-cpp/ Najpierw próbowałem użyć Code::Block, jako host ustawiłem run.cmd, daje się wywołać procedurę z DLL, ale nie debugować - debugowanie uruchamia krótki build, po czym nie uruchamia programu. Próbowałem też użyć Eclipse CDT, ale gdy jako host podawałem run.cmd - GDB informuje że to nie plik wykonywalny i nie ma informacji dla debuggera, gdy podawałem DLL - nie może go uruchomić. Ten projekt jest na githubie: https://github.com/borisbrodski/sevenzipjbinding Raczej nie da się uruchomić w Visual Studio, bo jest napisany z użyciem MinGW; jak można sobie z tym poradzić? |
|
DejaVu |
» 2015-08-11 10:01:06 1. kompilujesz dllke z symbolami debugowymi. 2. odpalasz ja za posrednictwem javy 3. z poziomu gdb uruchomionego jako administrator wywolujesz polecenie attach to process, gdzie id procesu wskazujesz jave bo ona uzywa dllki. 4. stawiasz breakpointy w gdb, dajesz polecenie continue 5. klikasz po javie tak, aby byly wywolywane funkcje z dllki, a gdb sie wowczas tam zatrzyma gdzie postawiles breakpointy |
|
C-Objective |
» 2015-08-11 14:16:46 nie ten dział chyba... |
|
pekfos |
» 2015-08-11 14:40:55 To nie Javę debuguje, tylko DLL w C/C++. |
|
« 1 » |