#はじめに
この記事は随時追記していきます。時々思い出した頃に見に来てください。ストックかLGTMで多分更新時に通知がいくようにするのでみたい人はお願いします
#ツールたち
##LLDB
LLVM(Xcodeでも使われているコンパイラ)のプロジェクトの一部として開発された高性能な動的デバッガ。
以下のサイトはgdb to lldbのチートシートであるが、普通にlldbのコマンドを調べるためにも役に立つ。
http://lldb.llvm.org/use/map.html
こちらは純粋なlldbのチートシート
https://www.nesono.com/sites/default/files/lldb%20cheat%20sheet.pdf
breakpointはもちろん、bt(バックトレース)やimage lookup --address、thread returnなどをよく使ってる。
XcodeからでなくコマンドラインでLLDBを使うようになってから、普通のiOSアプリの開発においてもコマンドから使ったりするようになった。
##otool
いくつかの用法がある。
###ライブラリの依存関係を調べる
lddみたいな使い方
otool -L ファイル名
##nm
シンボルを抽出して表示する。使用されているクラス名などを調べることができる。
nm ファイル名
##strings
ファイルから文字列の部分を抽出する。例えば、pirntf("aaaa");としていれば、aaaaが見つかる。
このコマンドから見つからないようにする方法も今度記事にしようと思っています。
strings ファイル名
##dsdump
##Ghidra
##frida