web-dev-qa-db-ja.com

LLDBはGDBの「infomalloc-history <address>」コマンドと同等ですか?

IOSで「割り当て解除されたインスタンスに送信されたメッセージ」エラーを解決しようとしています。

30
user1274177

LLDB-GDBコマンドマップを参照してください( http://lldb.llvm.org/lldb-gdb.html )-スクリプトをインポートする必要があり、コマンドの名前はmalloc_infoになりました。明らかに、mallocスタックロギングはスキームオプションでオンにする必要があります。

(lldb) script import lldb.macosx.heap
(lldb) malloc_info --stack-history 0x10010d680

残念ながら、それはdeallocを表示しません-GDBのmalloc-historyもそれを表示しませんでしたか?

41
karstux

楽器を使用すると、正確な線が得られます-

(XCode内)「製品」->「プロファイル」から実行します。

これによりInstrumentsが起動します。そこで、"Zombies"を選択そしてバグイベントを再現する必要があります。

ゾンビが呼び出されるとポップアップが表示されますシェブロンを押して正確な行を確認してください

問題は通常悪いです__bridge(オプションのブリッジ__brige_retained/__bridge_transfer/__bridge

2
avishic

以前は、シェルからmalloc_historyコマンドラインツールを使用して、プロセスIDと目的のアドレスを指定することができました。このコマンドは、最新のXcodeのコマンドラインツールではインストールされていないようです。 :-(

0
Kevin Draz