|
GDBserver
|
#include "server.h"#include "linux-low.h"#include "gdb_proc_service.h"#include "nat/gdb_thread_db.h"#include "gdb_vecs.h"#include "nat/linux-procfs.h"#include "common/scoped_restore.h"#include <dlfcn.h>#include <limits.h>#include <ctype.h>Go to the source code of this file.
Classes | |
| struct | thread_db |
Macros | |
| #define | CHK(required, a) |
| #define | TDB_DLSYM(tdb, func) tdb->func ## _p = (func ## _ftype *) dlsym (tdb->handle, #func) |
Variables | |
| int | debug_threads |
| static char * | libthread_db_search_path |
| #define CHK | ( | required, | |
| a | |||
| ) |
Referenced by try_thread_db_load_1().
| #define TDB_DLSYM | ( | tdb, | |
| func | |||
| ) | tdb->func ## _p = (func ## _ftype *) dlsym (tdb->handle, #func) |
Referenced by try_thread_db_load_1().
|
static |
Definition at line 214 of file thread-db.c.
References current_process(), debug_printf(), debug_threads, find_lwp_pid(), gdb_assert, linux_attach_lwp(), linux_ptrace_attach_fail_reason_string(), process_info::pid, pid_of(), ptid_build(), td_thrinfo::ti_lid, td_thrinfo::ti_tid, and warning().
Referenced by maybe_attach_thread().
|
static |
Definition at line 781 of file thread-db.c.
References current_thread, thread_db::handle, process_info::priv, switch_to_process(), td_event_fillset, td_ta_clear_event(), thread_db::thread_agent, and process_info_private::thread_db.
Referenced by thread_db_detach().
|
static |
Definition at line 267 of file thread-db.c.
References current_process(), debug_printf(), debug_threads, error(), maybe_attach_thread(), process_info::priv, TD_OK, thread_db::td_thr_get_info_p, TD_THR_UNKNOWN, TD_THR_ZOMBIE, process_info_private::thread_db, thread_db_err_str(), td_thrinfo::ti_lid, td_thrinfo::ti_state, and td_thrinfo::ti_tid.
Referenced by thread_db_find_new_threads().
|
static |
Definition at line 163 of file thread-db.c.
References current_process(), debug_printf(), debug_threads, error(), find_thread_ptid(), get_thread_lwp, process_info::priv, ptid_get_lwp(), TD_OK, thread_db::td_ta_map_lwp2thr_p, thread_db::td_thr_get_info_p, thread_db::thread_agent, process_info_private::thread_db, thread_db_err_str(), td_thrinfo::ti_lid, td_thrinfo::ti_tid, and warning().
Referenced by thread_db_find_new_threads(), thread_db_get_tls_address(), thread_db_notice_clone(), and thread_db_thread_handle().
|
static |
Definition at line 248 of file thread-db.c.
References attach_thread(), find_lwp_pid(), pid_to_ptid(), and td_thrinfo::ti_lid.
Referenced by find_new_threads_callback().
|
static |
Definition at line 771 of file thread-db.c.
References current_thread, find_any_thread_of_pid(), process_info::pid, and pid_of().
Referenced by disable_thread_event_reporting().
| void thread_db_detach | ( | struct process_info * | proc | ) |
Definition at line 815 of file thread-db.c.
References disable_thread_event_reporting(), process_info::priv, and process_info_private::thread_db.
Referenced by linux_detach().
|
static |
Definition at line 74 of file thread-db.c.
References TD_BADKEY, TD_BADPH, TD_BADSH, TD_BADTA, TD_BADTH, TD_DBERR, TD_ERR, TD_MALLOC, TD_NOAPLIC, TD_NOCAPAB, TD_NOEVENT, TD_NOFPREGS, TD_NOLIBTHREAD, TD_NOLWP, TD_NOMSG, TD_NOSV, TD_NOTHR, TD_NOTSD, TD_NOXREGS, TD_OK, TD_PARTIALREG, TD_VERSION, and xsnprintf().
Referenced by find_new_threads_callback(), find_one_thread(), thread_db_find_new_threads(), and try_thread_db_load_1().
|
static |
Definition at line 307 of file thread-db.c.
References current_process(), current_ptid, debug_printf(), debug_threads, error(), find_new_threads_callback(), find_one_thread(), process_info::priv, TD_OK, TD_SIGNO_MASK, thread_db::td_ta_thr_iter_p, TD_THR_ANY_STATE, TD_THR_ANY_USER_FLAGS, TD_THR_LOWEST_PRIORITY, thread_db::thread_agent, process_info_private::thread_db, and thread_db_err_str().
Referenced by thread_db_init().
| int thread_db_get_tls_address | ( | struct thread_info * | thread, |
| CORE_ADDR | offset, | ||
| CORE_ADDR | load_module, | ||
| CORE_ADDR * | address | ||
| ) |
Definition at line 384 of file thread-db.c.
References thread_db::all_symbols_looked_up, current_thread, find_one_thread(), get_thread_lwp, get_thread_process(), thread_info::id, offset, process_info::priv, TD_ERR, TD_NOTHR, TD_OK, thread_db::td_thr_tls_get_addr_p, thread_db::td_thr_tlsbase_p, and process_info_private::thread_db.
| int thread_db_handle_monitor_command | ( | char * | mon | ) |
Definition at line 857 of file thread-db.c.
References free(), LIBTHREAD_DB_SEARCH_PATH, libthread_db_search_path, monitor_output(), and xstrdup().
| int thread_db_init | ( | void | ) |
Definition at line 735 of file thread-db.c.
References current_process(), linux_proc_task_list_dir_exists(), pid_of(), thread_db_find_new_threads(), thread_db_load_search(), and thread_db_look_up_symbols().
Referenced by linux_look_up_symbols().
|
static |
Definition at line 682 of file thread-db.c.
References debug_printf(), debug_threads, free_char_ptr_vec(), LIBTHREAD_DB_SEARCH_PATH, libthread_db_search_path, try_thread_db_load_from_dir(), try_thread_db_load_from_sdir(), VEC, VEC_iterate, and xstrdup().
Referenced by thread_db_init().
| int thread_db_look_up_one_symbol | ( | const char * | name, |
| CORE_ADDR * | addrp | ||
| ) |
Definition at line 370 of file thread-db.c.
References thread_db::all_symbols_looked_up, current_process(), look_up_one_symbol(), name, process_info::priv, and process_info_private::thread_db.
Referenced by ps_pglobal_lookup().
|
static |
Definition at line 355 of file thread-db.c.
References thread_db::all_symbols_looked_up, current_process(), look_up_one_symbol(), process_info::priv, thread_db::td_symbol_list_p, and process_info_private::thread_db.
Referenced by thread_db_init().
| void thread_db_mourn | ( | struct process_info * | proc | ) |
Definition at line 828 of file thread-db.c.
References free(), thread_db::handle, process_info::priv, td_ta_delete(), thread_db::thread_agent, and process_info_private::thread_db.
Referenced by linux_mourn().
| void thread_db_notice_clone | ( | struct thread_info * | parent_thr, |
| ptid_t | child_ptid | ||
| ) |
Definition at line 892 of file thread-db.c.
References thread_db::all_symbols_looked_up, current_thread, find_one_thread(), get_thread_process(), make_scoped_restore(), process_info::priv, process_info_private::thread_db, and warning().
Referenced by handle_extended_wait().
Definition at line 450 of file thread-db.c.
References find_one_thread(), find_thread_ptid(), gdb_assert, get_thread_lwp, get_thread_process(), thread_info::id, process_info::priv, lwp_info::thread, and process_info_private::thread_db.
|
static |
Definition at line 601 of file thread-db.c.
References debug_printf(), debug_threads, td_init(), and try_thread_db_load_1().
Referenced by try_thread_db_load_from_dir(), and try_thread_db_load_from_sdir().
|
static |
Definition at line 518 of file thread-db.c.
References CHK, current_process(), debug_printf(), debug_threads, free(), gdb_assert, thread_db::handle, process_info::priv, thread_db::proc_handle, TD_OK, td_symbol_list(), td_ta_map_lwp2thr(), td_ta_new(), thread_db::td_ta_new_p, td_ta_thr_iter(), td_thr_get_info(), td_thr_tls_get_addr(), td_thr_tlsbase(), TDB_DLSYM, thread_db::thread_agent, process_info_private::thread_db, thread_db_err_str(), and XCNEW.
Referenced by try_thread_db_load().
|
static |
Definition at line 655 of file thread-db.c.
References _, free(), LIBTHREAD_DB_SO, try_thread_db_load(), warning(), and xmalloc().
Referenced by thread_db_load_search().
|
static |
Definition at line 646 of file thread-db.c.
References LIBTHREAD_DB_SO, and try_thread_db_load().
Referenced by thread_db_load_search().
| int debug_threads |
Definition at line 24 of file debug.c.
Referenced by add_insns(), attach_proc_task_lwp_callback(), attach_thread(), ATTRIBUTE_PRINTF(), captured_main(), check_zombie_leaders(), complete_ongoing_step_over(), delete_fast_tracepoint_jump(), delete_lwp(), delete_raw_breakpoint(), dequeue_one_deferred_signal(), enqueue_one_deferred_signal(), find_new_threads_callback(), find_one_thread(), finish_step_over(), gdb_no_commands_at_breakpoint_z_type(), get_detach_signal(), get_pc(), get_syscall_trapinfo(), handle_detach(), handle_extended_wait(), handle_monitor_command(), handle_serial_event(), handle_target_event(), handle_tracepoint_bkpts(), handle_tracepoints(), insert_memory_breakpoint(), kill_one_lwp_callback(), kill_wait_lwp(), linux_async(), linux_attach_lwp(), linux_detach_one_lwp(), linux_get_pc_32bit(), linux_get_pc_64bit(), linux_kill(), linux_kill_one_lwp(), linux_low_filter_event(), linux_resume(), linux_resume_one_lwp_throw(), linux_resume_one_thread(), linux_set_resume_request(), linux_stabilize_threads(), linux_wait_1(), linux_wait_for_event_filtered(), linux_write_memory(), linux_xfer_siginfo(), lwp_suspended_inc(), lynx_debug(), lynx_ptrace(), maybe_move_out_of_jump_pad(), move_out_of_jump_pad_callback(), need_step_over_p(), nto_trace(), prefork_hook(), proceed_all_lwps(), proceed_one_lwp(), process_point_options(), queue_stop_reply_callback(), reinsert_breakpoints_at(), reinsert_fast_tracepoint_jumps_at(), reinsert_raw_breakpoint(), remove_memory_breakpoint(), resume_stopped_resumed_lwps(), save_stop_reason(), select_event_lwp(), send_sigstop(), set_fast_tracepoint_jump(), set_raw_breakpoint_at(), sigchld_handler(), single_step(), start_step_over(), stop_all_lwps(), thread_db_find_new_threads(), thread_db_load_search(), thread_still_has_status_pending_p(), trace_buffer_alloc(), tracepoint_look_up_symbols(), try_thread_db_load(), try_thread_db_load_1(), uninsert_breakpoints_at(), uninsert_fast_tracepoint_jumps_at(), uninsert_raw_breakpoint(), unstop_all_lwps(), upload_fast_traceframes(), and wait_for_sigstop().
|
static |
Definition at line 68 of file thread-db.c.
Referenced by thread_db_handle_monitor_command(), and thread_db_load_search().
1.8.14