Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Jak debugować DLL wołany przez Javę

Ostatnio zmodyfikowano 2015-08-11 14:40
Autor Wiadomość
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ć?
P-135928
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
P-136046
C-Objective
» 2015-08-11 14:16:46
nie ten dział chyba...
P-136057
pekfos
» 2015-08-11 14:40:55
nie ten dział chyba...
To nie Javę debuguje, tylko DLL w C/C++.
P-136062
« 1 »
  Strona 1 z 1