[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: TOFU on 1st shift-jis *.c
- X-ml-count: 5054
- Subject: Re: TOFU on 1st shift-jis *.c
- From: 藤森 康文 <fuji@xxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 15 Jan 2004 20:17:44 +0900
- User-agent: Wanderlust/2.11.22 (Wonderwall) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/21.3 (i386-pc-linux-gnu) MULE/5.0 (SAKAKI)
>> On Thu, 15 Jan 2004 17:33:07 +0900, Katsuhiko Terawaki <wakky@xxxxxxxxxxxxxxxxxxx> said:
K> PS Meadow上でキャプチャできるといいんですが...
プログラムをprintfデバッグ手法でやるなら、できなくはないですね。
C99じゃないと使えないマクロとか混じってますが…
/* フォーマット化文字列には変数につっこんだ文字列はつかうな */
#if _DEBUG
#define dprint(format, ...) (_dbgprint(TEXT("%s:%d (%s)") format, __FILE__, __LINE__, __func__, ##__VA_ARGS__))
#else
#define dprint(format, ...) ((VOID)0)
#endif
#define BUFSZ 4096
TCHAR buf[BUFSZ];
VOID _dbgprint(LPCTSTR fmt, ...){
va_list args;
va_start(args, fmt);
#if UNICODE
vswprintf(buf, BUFSZ, fmt, args);
#else
vsprintf(buf, fmt, args);
#endif
va_end(args);
OutputDebugString(buf);
OutputDebugString(TEXT("\n"));
}
dprint(TEXT("i = %d"), i);
こんな感じのコードをつっこんでおいてコンパイルしたプログラムを次のよう
に実行する
M-x cd C-m <SOURCE DIRECTORY> C-m
M-x compile C-m DbgMon C-m
M-! <PROGRAM> C-m
こうすることで一応ソースにジャンプできます
# パイプがなかなかフラッシュされないようで、ちょっと妙な動きするため
# あまり利用していないので記憶違いしていたらスミマセン