how does gdb puts "int 3" instruction into another process address space.
=> what I know it does not use ptrace for that.
=> what I know it uses bfd library for that.
=> what I am failing to understand is : by which mean it accesses other's process address space becuase ? (that also knowing only instruction's virtual address to be replaced).
please try to explain in detail in terms of implementation.
orly
Apparently you know nothing.
It *does* use ptrace to do *just that*, specifically PTRACE_POKETEXT. libbfd is not used for this either because, surprise surprise, putting an int3 instruction (what for?) into someone else's memory does not involve playing with object file formats.