teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

追記

2018/06/21 05:09

投稿

Chironian
Chironian

スコア23274

title CHANGED
File without changes
body CHANGED
@@ -19,4 +19,13 @@
19
19
  【追記】
20
20
  記載漏れがありました。binutilsのgaddr2lineは試しています。
21
21
  homebrewでインストールし、インストールされたパスをBOOST_STACKTRACE_ADDR2LINE_LOCATIONでboost stack traceへ指示してみました。
22
- 結果は変わらず、関数名までしか表示されませんでした。
22
+ 結果は変わらず、関数名までしか表示されませんでした。
23
+
24
+ ---
25
+ 【更に追記】
26
+ Twitterで拾った情報から[libbacktraceのissue Mach-O support #2](https://github.com/ianlancetaylor/libbacktrace/pull/2)を辿れました。
27
+ どうも残念ながらlibbacktraceは未だMac OSはサポートしていない様子です。
28
+
29
+ 英語のニュアンスがうまく読み取れないので、誤読しているかもしれませんが、需要が少ないことと苦労が凄まじいことが原因っぽいです。このプルリク主の JohnColanduoni さんはかなり粘り強く頑張っている([Add libbacktrace support for Apple platforms](https://github.com/rust-lang/rust/pull/43422)、[Add libbacktrace support for Apple platforms (resubmitted)](https://github.com/rust-lang/rust/pull/44251))ようですが、結局難易度が高すぎていまだうまく行っていないと読み取れました。
30
+
31
+ Macはクローズド・システムだから、Appleがスタックトレースを取得するAPIを公開しない限りかなり厳しいことになります。そして、このように公開の場で苦労し続けている人がいるということは、Appleはスタックトレースを取得するAPIを公開していないということかも?

1

記載漏れの追記

2018/06/21 05:09

投稿

Chironian
Chironian

スコア23274

title CHANGED
File without changes
body CHANGED
@@ -13,4 +13,10 @@
13
13
  しかし、Macの場合、起動する度にアプリがロードされるアドレスが変わるようで、前回保存したダンプ・ファイルの関数名さえ適切に表示されません。あさってのシンボルになったり、変換されなかったりです。これに対処する方法は存在するでしょうか?
14
14
 
15
15
  ---
16
- Macについては不慣れなので、多少馬鹿なことを聞いているかも知れません。ご容赦頂けると幸いです。
16
+ Macについては不慣れなので、多少馬鹿なことを聞いているかも知れません。ご容赦頂けると幸いです。
17
+
18
+ ---
19
+ 【追記】
20
+ 記載漏れがありました。binutilsのgaddr2lineは試しています。
21
+ homebrewでインストールし、インストールされたパスをBOOST_STACKTRACE_ADDR2LINE_LOCATIONでboost stack traceへ指示してみました。
22
+ 結果は変わらず、関数名までしか表示されませんでした。