tree: bc2e021858d21bb6c1047f11a976ce9bd5d4e985
  1. integration_tests/
  2. meta/
  3. posix/
  4. test_data/
  5. testing/
  6. align.cc
  7. align.h
  8. align_unittest.cc
  9. aligned_chunk.cc
  10. aligned_chunk.h
  11. aligned_chunk_unittest.cc
  12. arch.h
  13. arch_arm64.cc
  14. arch_arm64_unittest.cc
  15. arch_types.h
  16. arch_x64.cc
  17. arch_x64_unittest.cc
  18. automation_handler.cc
  19. automation_handler.h
  20. automation_instruction_executor.cc
  21. automation_instruction_executor.h
  22. automation_instruction_executor_unittest.cc
  23. backtrace_utils.cc
  24. backtrace_utils.h
  25. binary_launcher.h
  26. breakpoint.cc
  27. breakpoint.h
  28. breakpoint_unittest.cc
  29. BUILD.bazel
  30. BUILD.gn
  31. component_manager.cc
  32. component_manager.h
  33. debug_agent.cc
  34. debug_agent.h
  35. debug_agent_observer.h
  36. debug_agent_server.cc
  37. debug_agent_server.h
  38. debug_agent_server_unittest.cc
  39. debug_agent_unittest.cc
  40. debug_registers.h
  41. debug_registers_arm64.cc
  42. debug_registers_arm64_unittest.cc
  43. debug_registers_x64.cc
  44. debug_registers_x64_unittest.cc
  45. debugged_job.cc
  46. debugged_job.h
  47. debugged_job_unittest.cc
  48. debugged_process.cc
  49. debugged_process.h
  50. debugged_process_unittest.cc
  51. debugged_thread.cc
  52. debugged_thread.h
  53. debugged_thread_breakpoint_unittest.cc
  54. debugged_thread_unittest.cc
  55. elf_utils.cc
  56. elf_utils.h
  57. elf_utils_unittest.cc
  58. exception_handle.h
  59. filter.cc
  60. filter.h
  61. filter_unittest.cc
  62. general_registers.cc
  63. general_registers.h
  64. hardware_breakpoint.cc
  65. hardware_breakpoint.h
  66. hardware_breakpoint_unittest.cc
  67. job_exception_channel_type.h
  68. job_exception_observer.h
  69. job_handle.cc
  70. job_handle.h
  71. launcher.cc
  72. launcher.h
  73. launcher_unittest.cc
  74. limbo_provider.h
  75. linux_arch.h
  76. linux_arch_arm64.cc
  77. linux_arch_x64.cc
  78. linux_binary_launcher.cc
  79. linux_binary_launcher.h
  80. linux_component_manager.cc
  81. linux_component_manager.h
  82. linux_exception_handle.cc
  83. linux_exception_handle.h
  84. linux_job_handle.cc
  85. linux_job_handle.h
  86. linux_limbo_provider.h
  87. linux_process_handle.cc
  88. linux_process_handle.h
  89. linux_suspend_handle.h
  90. linux_system_interface.cc
  91. linux_system_interface.h
  92. linux_task.cc
  93. linux_task.h
  94. linux_task_observer.h
  95. linux_thread_handle.cc
  96. linux_thread_handle.h
  97. linux_utils.cc
  98. linux_utils.h
  99. linux_utils_unittest.cc
  100. local_stream_backend.cc
  101. local_stream_backend.h
  102. main.cc
  103. main_launcher.cc
  104. minidump_iterator.cc
  105. minidump_iterator.h
  106. minidump_iterator_unittest.cc
  107. mock_component_manager.cc
  108. mock_component_manager.h
  109. mock_debug_agent_harness.cc
  110. mock_debug_agent_harness.h
  111. mock_exception_handle.h
  112. mock_job_handle.cc
  113. mock_job_handle.h
  114. mock_limbo_provider.cc
  115. mock_limbo_provider.h
  116. mock_process.cc
  117. mock_process.h
  118. mock_process_breakpoint.h
  119. mock_process_handle.cc
  120. mock_process_handle.h
  121. mock_stream_backend.h
  122. mock_suspend_handle.h
  123. mock_system_interface.cc
  124. mock_system_interface.h
  125. mock_thread.cc
  126. mock_thread.h
  127. mock_thread_handle.cc
  128. mock_thread_handle.h
  129. module_list.cc
  130. module_list.h
  131. process_breakpoint.cc
  132. process_breakpoint.h
  133. process_handle.h
  134. process_handle_observer.h
  135. process_info_iterator.cc
  136. process_info_iterator.h
  137. process_info_iterator_unittest.cc
  138. README.md
  139. remote_api.h
  140. remote_api_adapter.cc
  141. remote_api_adapter.h
  142. software_breakpoint.cc
  143. software_breakpoint.h
  144. software_breakpoint_unittest.cc
  145. stdio_handles.h
  146. suspend_handle.h
  147. system_interface.cc
  148. system_interface.h
  149. system_interface_unittest.cc
  150. test_realm.cc
  151. test_realm.h
  152. test_utils.h
  153. thread_handle.h
  154. time.h
  155. time_zircon_unittest.cc
  156. unwind.cc
  157. unwind.h
  158. unwind_unittest.cc
  159. watchpoint.cc
  160. watchpoint.h
  161. watchpoint_info.h
  162. watchpoint_unittest.cc
  163. zircon_arch.cc
  164. zircon_arch.h
  165. zircon_arch_arm64.cc
  166. zircon_arch_x64.cc
  167. zircon_binary_launcher.cc
  168. zircon_binary_launcher.h
  169. zircon_component_manager.cc
  170. zircon_component_manager.h
  171. zircon_exception_handle.cc
  172. zircon_exception_handle.h
  173. zircon_job_handle.cc
  174. zircon_job_handle.h
  175. zircon_job_handle_unittest.cc
  176. zircon_limbo_provider.cc
  177. zircon_limbo_provider.h
  178. zircon_limbo_provider_unittest.cc
  179. zircon_process_handle.cc
  180. zircon_process_handle.h
  181. zircon_suspend_handle.cc
  182. zircon_suspend_handle.h
  183. zircon_system_interface.cc
  184. zircon_system_interface.h
  185. zircon_system_interface_unittest.cc
  186. zircon_thread_handle.cc
  187. zircon_thread_handle.h
  188. zircon_utils.cc
  189. zircon_utils.h
  190. zxdb_test_app.cc
src/developer/debug/debug_agent/README.md

Debug agent

This is the code for the backend of the Fuchsia debugger. This backend runs on the target Fuchsia computer (Linux or Mac) and talks via IPC (code in ../ipc) to the zxdb frontend (code in ../zxdb) running on the developer's workstation.

User documentation

Please see the debugger setup and usage documentation.

Manual testing

When changing anything related to process launching:

  • run /boot/bin/ps
  • run -c fuchsia-pkg://fuchsia.com/debug_agent#meta/debug_agent.cm or some other component URL.
  • attach some_filter When a process by that name already exists.
  • A new process caught by filter (technically 2 handles this, but it's good to be explicit).
  • attach 56421 Attach by PID and name are different code paths in the agent!