先介紹一下gdb多執行緒除錯的基本命令。
顯示當前可除錯的所有執行緒,每個執行緒會有乙個gdb為其分配的id,後面操作執行緒的時候會用到這個id。 前面有*的是當前除錯的執行緒。
切換當前除錯的執行緒為指定id的執行緒。
在所有執行緒中相應的行上設定斷點
讓乙個或者多個執行緒執行gdb命令command。
讓所有被除錯執行緒執行gdb命令command。
估計是實際使用過多執行緒除錯的人都可以發現,在使用step或者continue命令除錯當前被除錯執行緒的時候,其他執行緒也是同時執行的,怎麼只讓被除錯程式執行呢?通過這個命令就可以實現這個需求。off 不鎖定任何執行緒,也就是所有執行緒都執行,這是預設值。 on 只有當前被除錯程式會執行。 step 在單步的時候,除了next過乙個函式的情況(熟悉情況的人可能知道,這其實是乙個設定斷點然後continue的行為)以外,只有當前執行緒會執行。
多執行緒中一些介面及類之間的關係
runnale 介面,裡面有乙個run方法,無返回值,代表乙個任務。callable 介面,裡面有乙個帶返回值的方法call,返回值為泛型t,也代表乙個任務。futher 介面,裡面有五個重要的方法,用來獲取任務及其狀態。cancle 是乙個boolean型別的值,為true代表可以取消正在執行的任...
Shell中一些簡單操作
為建立 echo hello shell out.txt 為追加 echo hello shell out.txt 當out.txt 文字不存在時,與 都會預設建立out.txt文字,並將hello shell 字串儲存到out.txt中 當out.txt文字存在時,會將out.txt文字中的內容清...
git中一些簡單的命令
本地庫初始化 git init 設定簽名 設定 修改 專案級別 倉庫級別 盡在本地庫範圍內有效 新增提交以及檢視操作狀態 將目錄下的檔案新增到暫存區追蹤檔案 git add filename 將檔案從暫存區移除取消追蹤 git rm cached filename 將檔案資訊提交到本地庫 將更新的檔...