[英]Breakpointing/debugging other user processes from c/c++ on unix
正如標題所說,我正在尋找一種方法,最好是通過一些現有的庫在ac / c ++應用程序中在其他進程上設置斷點,並在觸發這些斷點時做出反應(不中斷宿主進程)。
最終目標是為用戶登陸流程提供一個小型且非常通用的腳本引擎,可跨unice移植。
那么,是否有人對如何實現這一目標有任何想法,或者是否聽說過類似的項目或功能? 如果我的一般方法不可行,我很樂意接受有關如何以其他方式實現此目標的反饋。
編輯:與SO標准保持一致,特定的問題是是否可以通過庫或c / c ++中的unix syscalls獲得斷點/進程交互。
具體的問題是斷點/進程交互是否可以通過c / c ++中的庫或unix syscalls獲得。
是的: ptrace
是對此的唯一便攜式Unix系統調用。
您將很快發現,要對其執行任何有用的操作,您將不得不編寫大量代碼。
我希望您必須先實現〜50%的GDB,然后才能編寫任何可編寫腳本且通常有用的文件,因此更好的方法可能是從 GDB 開始 ,並改用其內置的python腳本。
在ptrace
,還具有特定於平台的改進(Solaris以/procfs
實現了ptrace
; Linux有了utrace
,盡管看上去已經死了)。
您也可以在Linux專用的frysk
找到想法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.