visual studioにおけるdebugとrelease

| コメント(0) | トラックバック(0)

Javaのような考え方でテキトーにコーディングしてたらハマった...。
debugでコンパイルしたら動くのに、releaseだと何故かサーバと通信できない...。
構成をグリグリいじってみたら今度はdebugでも動かなくなり、頭の中が混乱した。
落ち着いてトレースしてみると、サーバに送るメッセージが送る段階でメチャクチャに壊れていた。

ちなみにサーバへ送信するメッセージを生成する部分は関数に分けている。
正直、テキトーに作った関数を載せるのが恥ずかしいが、やっぱり載せちゃう。

//サーバに送る登録メッセージを作成する。
char* make_regist_req(int island_server_port, int island_reply_port, int performance){
	char buf[128];
	sprintf_s(buf, sizeof(buf), "island_registration:%d,%d,%d\n", island_server_port, island_reply_port, performance);
	return buf;
}

研究用だしmallocじゃなく配列宣言でイイヤもう。とめんどくさがったのがまずかった。
改めて上のコードを見ると

kimoigirls_c.gif

な、感じなのだが、混乱してる最中は

  ( _, ,_)  < make_regist_req()の呼び出し元でbufが参照されてるじゃねぇかよぉぉー!
_(__つ/ ̄ ̄ ̄/_
  \/    ./

とマジで思ってた。どう考えてもヒープ脳でした。


今までの経験から考えてdebugで動いてreleaseで動かない場合はメモリー関連のエラーが多いねぇ。まぁ、debugの方も運良く動いてるだけの話なんだけれども。こーゆう煩わしさがないJavaはやっぱ楽だなぁとか思ってみたり。

#もうBoehm GC使っちゃいますか。

トラックバック(0)

トラックバックURL: http://hoge.sub.jp/blog-cgi/mt/mt-tb.cgi/495

コメントする

このブログ記事について

このページは、Lyoが2007年10月 9日 23:40に書いたブログ記事です。

ひとつ前のブログ記事は「AMDから悲しいお知らせです。」です。

次のブログ記事は「POEでのロギング」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

OpenID対応しています OpenIDについて
Powered by Movable Type 4.261