kishikawakatsumi/DescriptionBuilder · GitHub NSObject クラスの description メソッドをオーバーライドしておくと、NSLog で出力できたりしてデバッグ時に便利です。 ただ、出力する項目が増えてくると、結構な手間になるので、リフレクションを使って自動ですべてのインスタンス変数を出力できるようにしてみました。 このクラスを使うと、description メソッドは次のように書けます。 - (NSString *)description { return [DescriptionBuilder reflectDescription:self]; } このようなオブジェクトの場合、デフォルトでは下記のようにフォーマットされて出力されます。 @interface Settings : NSObject { NSUInteger ver
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Mac Dev Center: Core Data Programming Guide: Core Data Performance この中の "Analyzing Fetch Behavior with SQLite" に、コマンドライン引数に次を指定すると CoreDataから SQLite へ発行される SQL をデバッグ出力できるとの記述があった。 -com.apple.CoreData.SQLDebug 1 やってみよう。 実行可能ファイルの設定を開く。 「起動時に渡される引数」に上記の引数を追加する。 実行する。以下、例。 2009-10-05 06:50:48.557 OneLiner[1202:207] CoreData: sql: SELECT COUNT(*) FROM ZMEMO t0 2009-10-05 06:50:48.558 OneLiner[1202:207
iPachiで起きていた不具合なのですが、 特定の画面を表示中にメモリ不足に陥り didReceiveMemoryWarningを受け取ると アプリがクラッシュするという問題をついに 解消しました。 didReceiveMemoryWarning後にクラッシュするので メモリ管理でどこかがおかしくなっているのだろうとは 予想がつくのですが、いかんせん貧弱なエラーメッセージの ため、まったく発生元がつかめませんでした。 EXC_BAD_ACCESSとか言われてもさっぱりわからんです。 が、すばらしい記事をみつけました。 NSDebugEnabled これでクラッシュをおこしているオブジェクトの生成場所を 特定できるので、格段にデバッグ効率があがります。 というわけで、エミュレータでのメモリ不足時のシミュレートと デバッグのための設定をまとめます。 エミュレータでのメモリ
I recently saw this post on turning off NSLog for non-debug builds, and found it disappointing and inspirational at the same time. Scattering hundreds of #ifdefs around code is a recipe for disaster. Eventually some non debugging code will end up inside the #ifdef and the debug and release builds will function differently, making debugging more difficult. I’m not a big fan of debugging from log st
Advice from an experienced Appreneur, Mentor and Coach. My previous post about conditional logging received quite a few responses, with several people pointing out that littering your code with #ifdef DEBUG statements is both ugly and error prone. Karl Kraft, for example, created a new DebugLog class as a drop-in replacement for NSLog. Since NSLog has been around for quite a while, there have been
iPhone デバッグ用のマクロ - Windchase #ifdef DEBUG # define LOG(...) NSLog(__VA_ARGS__) # define LOG_CURRENT_METHOD NSLog(NSStringFromSelector(_cmd)) #else # define LOG(...) ; # define LOG_CURRENT_METHOD ; #endif iPhone デバッグ用のマクロ - Windchase このマクロをちょっと変えて、クラス名を自動的に出力するようにしました。 #ifdef DEBUG # define LOG(...) NSLog(__VA_ARGS__) # define LOG_CURRENT_METHOD NSLog(@"%@/%@", NSStringFromClass([self class]), NSSt
iPhone アプリをデバッグするときに、ソースに NSLog をそのまま書いてしまうと、リリース時に削除するのが面倒なので、以下のようなマクロを使っています。 #ifdef DEBUG # define LOG(...) NSLog(__VA_ARGS__) # define LOG_METHOD NSLog(@"%s", __func__) #else # define LOG(...) ; # define LOG_METHOD ; #endif 使い方は、まずプロジェクトの設定を開き、「Debug」構成を選択してから、一番下のユーザ定義カテゴリの「GCC_PREPROCESSOR_DEFINITIONS」に「DEBUG」を追加しておきます。 こうすることで、Debug build のときにだけ「DEBUG」が定義されます。 あとは、NSLog の代わりに LOG を使うようにすれば
スクリプト言語用のデバッガの使い方 - Ruby, Python, Perl スクリプト言語用の CUIのデバッガの使い方を簡単にまとめました。対象言語は Ruby, Python, Perl です。 私は C, C++ でプログラムを書いているときはデバッガ (主に GNU/Linux 上の gdb) を頻繁に利用します。しかし、スクリプト言語ではそれほどでもありません。これはおそらく次のような理由によります。 ビルドが不要なので printf デバッグが容易 (ある程度大きい C++ のプログラムではビルド時間が長いので printf の挿入はしんどい) 異常終了時にスタックトレースが表示される (Ruby, Python なら自動、Perl の場合は use Carp; $SIG{__DIE__} = \&Carp::confess; など) オブジェクトのインスペクトが簡単 (Ru
デベロッパがFirefoxを使う理由はエクステンション! Ajax Webアプリケーションの開発者には、WebブラウザとしてFirefoxを愛用しているユーザが多い。その理由のひとつに豊富なエクステンション機能が挙げられる。Firefoxを使っているからエクステンションを使っているというよりも、エクステンションを使いたいからFirefoxを使っているという感じだ。 デベロッパに人気のあるエクステンションはいくつもあるが、代表的なところではAll-in-One GesturesやDictionarySearch、Greasemonkey、User Agent Switcher、ScrapBookなどを挙げることができる。そしてAjax Webアプリケーションの開発において必須ともいえるエクステンションに、Firebugがある。 Firebugに対する称賛の声は枚挙にいとまがない。「Fireb
GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 p ご存じの人も多い Kernel#p メソッド。これを使うとオブジェクトの内容を見やすい形で出力してくれます。 >> p ({:foobar => :baz}) {:foobar=>:baz}Object#inspect を使うと、p で出力するときと同じ文字列を String として取得できます。 >> puts ({:foobar => :baz}).inspect {:foobar=>:baz}初心者の頃この p での出力を使う方法がわからなくて困った記憶が…。 pp pp というライブラリを使うと、p より、より見やすい形式で出力してくれます。たとえば >> a = Array.new(10) { {:foobar => :
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く