Wpis z mikrobloga

#java #programowanie
Tak bardziej z ciekawości niż potrzeby, wie ktoś czy da się z poziomu debugowanej aplikacji dodać/usunąć breakpoint? Jedyne co mi przychodzi do głowy to jakiś magiczny attach do procesu debuggera, np intellij, wstrzykniecie tam własnego programu i dopiero dobranie się do debuggera od środka....

Po co? ot-tak z ciekawości głównie, ogólnie to w hotspocie jest taki "bug" że przy redefine klasy znikają breakpointy, i tak mnie ciekawość naszła, czy dałoby się ten problem częściowo obejść. (ale raczej nigdy nie planuje pisać na poważnie czegoś takiego, za dużo nikomu nie potrzebnej roboty :D)
  • 12
@interface: nie chodzi o modyfikacje samego siebie, tylko o breakpointy na samym sobie, skaczę po tych klasach, nawet wrzucałem natywny kod, ale jak na razie wychodzi na to że tylko jeden podłączony debugger może stawiać breakpointy
@alex-fortune: no problem taki że każde IDE może to obsługiwać inaczej, więc do każdego musiałbym wtedy trochę inaczej, o tyle dobrze że raczej w większości są w javie, bo ja ledwo cpp jakoś ogarniam a co dopiero z assemblera odczytać o co chodzi :D
@alex-fortune: no API debuggera to to co podałem, a resztę tworzy już chyba IDE z tego co się orientuje, w tym api są metody typu SetBreakpoint(jmethod, jlocation) ale działają tylko dla pierwszego debuggera który zgłosi potrzebę tej funkcjonalności.
@GotoFinal: No właśnie. Więc API pełni rolę backendu, a IDE frontendu, który manipuluje tym API. Zamiast debugować w IDE, możesz napisać własny frontend i na tej podstawie zrobić co tam chcesz, a jeśli podejrzewasz bug w samym API to czeka Cię wycieczka do ichniejszej implementacji :P