Talks on adb
    Day 1



            mariah@tmax.co.kr
                     2010.07
Debugger

Java Debugging

Android
Debugging Tools

adb (Day 2)
Debugger는
개발자들의 고민을
덜어주고 자유 시간을
보장한다.
Debugger의 작동 원리는 그리 어렵지 않다



                    Debug Symbol
                    (PDB)
                     Line table
 ...
Java에서의 Debugging이라고 크게
     다르지도 않을 것이다


      Debug             Debug
      Symbol(class)     Symbol(PDB)
       Line t...
Java (Remote) Debugging: JPDA


   Components          Debugger Interfaces
                                               ...
javadt 데모 및 Set Breakpoint 시나리오
Java (Remote) Debugging: JPDA

                   Debugger                                             Debugging Server

 ...
traceview
  DDMS
  Logcat
        jdwp
Upcoming SlideShare
Loading in …5
×

Talks on adb - Day 1 (pdf version)

816 views
751 views

Published on

adb, debugging

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
816
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Talks on adb - Day 1 (pdf version)

  1. 1. Talks on adb Day 1 mariah@tmax.co.kr 2010.07
  2. 2. Debugger Java Debugging Android Debugging Tools adb (Day 2)
  3. 3. Debugger는 개발자들의 고민을 덜어주고 자유 시간을 보장한다.
  4. 4. Debugger의 작동 원리는 그리 어렵지 않다 Debug Symbol (PDB) Line table for Profiling for Dump Event Request Set Breakpoint Single Step Event Breakpoint hit Module loaded
  5. 5. Java에서의 Debugging이라고 크게 다르지도 않을 것이다 Debug Debug Symbol(class) Symbol(PDB) Line table Line table for Profiling for Profiling for Dump for Dump Event Request Event Request Set Breakpoint Set Breakpoint Single Step Single Step Event Event Breakpoint hit Breakpoint hit Class loaded DLL loaded
  6. 6. Java (Remote) Debugging: JPDA Components Debugger Interfaces JVMTI agent VM JNI ---------- Java VM Tool Interface javaagent (BCI) back-end JDWP command packet comm channel Java Debug Wire Protocol transport front-end JDI (com.sun.jdi) ---------- Java Debug Interface .connect UI .event .request Listener
  7. 7. javadt 데모 및 Set Breakpoint 시나리오
  8. 8. Java (Remote) Debugging: JPDA Debugger Debugging Server register SourceListener listen for a connection register DebugListener suspend TransportService - Socket - SharedMemory Attaches by socket to other VMs Agent on the target VM - Supports JDWP to com.sun.jdi. Gets a mirror of VM communicate with the debugger VirtualMachine start debugger loop (JDIEventSource thread) VM start ClassPrepareEvent for a class Classes loaded VirtualMachine #eventQueue() Resolve & Create Breakpoint Request SetBreakpoint(jvmtiEnv* env… JDWP.EventRequ (send packetstream) est.Set Agent Event Callbacks !View slide note BreakpointEvent for event log (resolve) breakpoint hit show it Request resume !Confer to debug-related objects
  9. 9. traceview DDMS Logcat jdwp

×