「あー、そういう時は、windbgとか、drwtsn32使うと楽だよ。」と言って、使い方を教えてあげようとしたわけですよ。したら、さっぱり思い出せん!もー、こんなんやってたの、4,5年前くらいだもんなー。家に帰ってきて、昔のテキストを検索したら、使い方メモが出てきたので、今まとめ直してみようかと。C++でメモリ破壊を起こしてアプリケーションエラーを起こすコードを書いて、ビルド、実行してみる。-mapファイルの作成は、リンク->MAPファイルを生成にチェック。codファイルの作成は、C/C++->C++言語のプロジェクトオプションに/FAcs追加。-mapファイルの作成は、リンク->デバッグ->マップファイルの作成。codファイルの作成は、C/C++->出力ファイル->アセンブリの出力で/FAcs。drwtsn32.logの出力先の設定コマンドプロンプトで、drwtsn32入力。drwtsn32.exeを起動。drwtsn32で出力先設定。最初に書いたコードを実行すると、アプリケーションが落ちる。それによって作成された、drwtsn32.logを見る。(004050f4)]フォールトと書かれた行が、アプリケーションを落とした命令。Studioが生成したmapファイルを見てみる。LIBC:crt0.objフォールとを起こしたアドレスが、0040100fであった。main関数が、00401000-00401027までであるので、この中でアプリが落ちたことがわかる。そこでcodファイルのほうを見てみる。edxcodファイルを見ると、drwtsn32.logで、フォールトを起こした命令が書いてある。これは、strcpyをコンパイルした結果の命令であることから、strcpyによって、アプリが落ちたことがわかる。Engineを使ってみる(2007.09.03)vimでソースコードのHTML化をやってみる(2007.06.13)MACのEclipseのテキストファイルエンコーディング(2007.06.08)このブログについてMac、デジカメ、音楽、楽器ガジェット、プログラミング、iPhone、ケータイなど色々興味を持ったことについて書いているブログです。Storeより発売中!石丸ソフトウェアミクハモVocaloid2のVSQファイルのハモリを作るソフトです。作ってみようと想いたちました。30RSSを表示する。