空戯れ日記H

Android くまタイマ 計算 弱肉強食 MINE ROAD Punky Tank Garden Diary DungeonDiary メンタラリスメティック Shopping Note Shortcut Image Clover Widget シンプルタイマー
iOS and Other くまタイマ for iOS 計算 弱肉強食               NEET ROAD for Windows twitter

2014-07-11 (Fri)

[][] Xcodeでのデバッグ時、SIGABRTで落ちる場合対処方法


時々ハマるのでメモ


Xcodeでデバッグしているとき、SIGABRTで落ちると、スタックトレースも何も参照できずにmain関数で止まるときがある。

この場合、デバッグが非常に困難になるのだけれど、これがなかなか、割と良く起きたりする。


これの対処方法は以下の記事を見るべし。素晴らしい内容です。


アプリがクラッシュしちゃった。さて、どうしましょう- Part 1

http://www.raywenderlich.com/ja/50797/


リンク先で解説されているのは、XcodeでのExceptionブレークポイントの設定方法。

Exceptionブレークポイントを設定しておくと、例外発生時にデバッガが自動でブレークする。

このブレークポイントを設定しておくことで、実際に落ちる直接の原因となったコードが簡単に見つかる場合がある。


以下、実例。


Exceptionブレークポイント設定前(main関数で止まる)

f:id:windbell:20140711210850p:image


設定後(Exception発生箇所で止まる)

f:id:windbell:20140711210851p:image


この実例は、NULLポインタに*をつけて参照しようとした場合に落ちたケースである

「設定後」の画像で確認できるinit関数の引数としてNULLが渡されると、if文の条件式内で typeid(*NULL) という不正参照が起こり、SIGABRTで落ちる模様。

Exceptionブレークポイントを設定する前は、SIGABRT発生時にmain関数で止まってしまい、ロクなエラーログも残らないので問題の起きている箇所が特定できなかった(表示されるエラーログは「libc++abi.dylib: terminate called throwing an exception」という一行のみ)。

そこでExceptionブレークポイントを設定したところ、実際に問題が起きる箇所で停止させることができた。


なお、この実例はあくまで一例で、SIGABRTで落ちるケースは他にも様々なもの存在する(ググればわかる)。


注意点として、Exceptionブレークポイントを設定すると、今まで普通に動いていた箇所(ライブラリのコード内など)でもブレークが発生したりする。

この場合、「Debug | Continue ( Command + Control + Y )」することでたいてい続行できるので(何度も止まる場合があるが我慢強く Continueし続ければ先に進める)、とりあえず続行させるか、問題発生直前でブレークポイントを有効にするなどして問題を再現させ、問題箇所を特定すると良い。




トラックバック - http://d.hatena.ne.jp/windbell/20140711

2014-07-01 (Tue)

windbell2014-07-01

[]『くまタイマ for iOS』リリース


f:id:windbell:20140701093008p:image


『くまタイマ for iOS』リリースしました

https://itunes.apple.com/jp/app/kuma-timer-bears-face-timer/id891558348


拙作『くまタイマ』のiOS版です。

バイブ機能が未実装、かつ設定画面すらないですが、こっちはあまり複雑化しないで、シンプルなままでいこうと思ってます


とりあえず今は、iPhoneが欲しいです。

よろしくお願いします。





 

トラックバック - http://d.hatena.ne.jp/windbell/20140701

2014-05-30 (Fri)

windbell2014-05-30

[][][] iOS/Androidアプリ『ソリティア 計算』をリリースしました

f:id:windbell:20140530214127p:image


iOS版

https://itunes.apple.com/jp/app/solitaire-calculation/id883653469

Android版

https://play.google.com/store/apps/details?id=jp.windbellrrr.app.solitaire.calculation



トランプのソリティア(一人遊び)のひとつである「計算」を、マルチプラットフォームアプリ作成勉強がてら作りました。

審査が通れば、iOS版もそのうちリリースできると思います

#審査通ったのすっかり忘れてました…


「計算」は経験と読みの深さが要求される、どちらかというと玄人向けのソリティアです。

初心者のうちはまず成功できませんが、慣れると少しずつ成功率が上がっていきます。

凄い人は成功率8割くらいになるそうです。


本ゲームには「読みの深さとか無理」な私向けに私が作った補助輪的な機能を搭載しています。画面上部に次の数(とその次の数)が表示されたり、どのくらいまで積んだかがわかるような表示があったり、数の並べ方が一望できる「カンニングシート」的なものが利用できます(上の画像の右の上部に出てるのがソレです)。これを利用することによって、初心者でもだいぶ遊びやすくなるとおもいます。

ただし、成功率が上がるかどうかは別です(作者によって実証済み)。


あと、本アプリでは、ルール違いの「コンピュータ」「超人」も遊べます。

タイトル画面の「MODE」ボタンでルールを切り替えることができます。


孤独時間のお供にどうぞ。


前作『弱肉強食』と同様に、このゲームもSEED値で同じゲームを共有できます。

解いたゲームを自慢したり、人が解いたSEEDに挑戦したりしてみてください。


■参考文献


朝日選書 野崎昭弘『トランプ ひとり遊び88選』

ちなみにこの本の著者は、あの『ゲーデル,エッシャー,バッハ』の翻訳者のひとりでもあります。





 

トラックバック - http://d.hatena.ne.jp/windbell/20140530