Oleg Nesterov
2010-09-22 02:22:26 UTC
Changes: syscall stepping + minor cleanups.
Seems to work, more or less, but surely there are some bugs.
Honestly, I don't really know how do the "right thing" here.
Anyway, most probably this code will be changed. Like ptrace,
ugdb uses ->report_syscall_exit() to synthesize a trap. Unlike
ptrace, ugdb_report_signal() doesn't send SIGTRAP to itself
but reports SIGTRAP using siginfo_t we have. In any case,
whatever we do, multiple tracers can confuse each other.
Next: fully implement g/G/p/P, currently I am a bit confused...
But what about features? What should I do next? all-stop,
thread-specific breakpoints (currently I have no idea what
this means), or what?
Oleg.
Seems to work, more or less, but surely there are some bugs.
Honestly, I don't really know how do the "right thing" here.
Anyway, most probably this code will be changed. Like ptrace,
ugdb uses ->report_syscall_exit() to synthesize a trap. Unlike
ptrace, ugdb_report_signal() doesn't send SIGTRAP to itself
but reports SIGTRAP using siginfo_t we have. In any case,
whatever we do, multiple tracers can confuse each other.
Next: fully implement g/G/p/P, currently I am a bit confused...
But what about features? What should I do next? all-stop,
thread-specific breakpoints (currently I have no idea what
this means), or what?
Oleg.