0
A
回答
3
如果在LLDB鍵入help -a
提示你將看到內建別名列出:
b -- ('_regexp-break') Set a breakpoint using a regular expression to specify the location, where <linenum> is in decimal and <address> is in hex.
這是一個別名一個正則表達式的命令,這是一種嘗試以匹配其輸入針對LLDB命令的形式一個或多個正則表達式並執行取決於該匹配的擴展。
例如_regexp_break
,這是你關心什麼:
_regexp-break -- Set a breakpoint using a regular expression to specify the location, where <linenum> is in decimal and <address> is in hex.
我不認爲目前LLDB有辦法看到的正則表達式命令「內容」,但由於它是一個開源項目中,可以通過查看源弄明白:
const char *break_regexes[][2] = {{"^(.*[^[:space:]])[[:space:]]*:[[:space:]]*([[:digit:]]+)[[:space:]]*$", "breakpoint set --file '%1' --line %2"},
{"^([[:digit:]]+)[[:space:]]*$", "breakpoint set --line %1"},
{"^\\*?(0x[[:xdigit:]]+)[[:space:]]*$", "breakpoint set --address %1"},
{"^[\"']?([-+]?\\[.*\\])[\"']?[[:space:]]*$", "breakpoint set --name '%1'"},
{"^(-.*)$", "breakpoint set %1"},
{"^(.*[^[:space:]])`(.*[^[:space:]])[[:space:]]*$", "breakpoint set --name '%2' --shlib '%1'"},
{"^\\&(.*[^[:space:]])[[:space:]]*$", "breakpoint set --name '%1' --skip-prologue=0"},
{"^(.*[^[:space:]])[[:space:]]*$", "breakpoint set --name '%1'"}};
這是字符串對的陣列,並且每對限定了正則表達式和匹配時相應的擴展。 (供您參考,這個代碼是lldb/source/Interpreter/CommandInterpreter.cpp
)
如果你最終確定你自己的,你喜歡它這麼多,你想它總是可用的,你可以在「滾你自己」的定義每個會話的修改命令在~/.lldbinit
。
相關問題
- 1. 我的git別名存儲在哪裏?
- 2. 定義的別名在哪裏
- 3. SQL - 在哪裏使用SELECT別名
- 4. 擴展名在哪裏設置?
- 5. DDD:在哪裏放置域名事件
- 6. __import__從哪裏獲取別名?
- 7. 內置功能在哪裏實施
- 8. aspnet內核的包位置在哪裏?
- 9. 爲調試符號創建LLDB別名
- 10. 區別在哪裏和哪個區域
- 11. 聯盟內部在哪裏
- 12. 哪裏是在內存中
- 13. 內存泄漏在哪裏
- 14. 在哪裏放內部類?
- 15. 內存泄漏在哪裏?
- 16. 內存泄漏在哪裏?
- 17. JTextPane - 內容在哪裏?
- 18. C#有沒有區別在哪裏()和哪裏<T>()
- 19. Haskell內置的庫,它去哪裏?
- 20. 我在哪裏可以使用Laravel Facade別名?
- 21. 使用Flow js,你在哪裏保留你的類型別名?
- 22. 會在哪裏FTP別名進入.NET中的FTP連接
- 23. 所有這些別名都存儲在哪裏?
- 24. 我在哪裏可以找到fastlane中的別名參數?
- 25. 使用SELECT結果的別名在哪裏
- 26. Mysql別名列未找到在哪裏條件
- 27. 角Highcharts;我在哪裏添加Webpack別名?
- 28. PowerShell中定義的默認別名在哪裏?
- 29. 在哪裏條款或替代選項中使用別名?
- 30. Xcode lldb錯誤 - 不確定從哪裏開始