簡體   English   中英

在UNIX上從c / c ++斷點/調試其他用戶進程

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM