Win2000対応
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGWin2000で動かしてみたら落ちました。
「"○○"の命令が"○○"のメモリを参照しました。
メモリが"read"になることはできませんでした。」
というメッセージがでてしまいます。
誰か原因を予測できる方、いらっしゃいませんか?
0002デフォルトの名無しさん
NGNG作ったやつに連絡しとけ
00031
NGNGたぶん、そうだと思うんですが、
場所を特定できないのです。
製作者は退職してしまったし…
Windows2000以外では問題なく動くので、
それがヒントにならないかな?と思ったのですが…
0004デフォルトの名無しさん
NGNG00052
NGNG該当アドレス付近をトレースすれば?
00061
NGNG>>2
mapファイルといのは作ることができました。
codといのはなんなのでしょうか?
00072
NGNGそのプログラムの方がよっぽどクソだろ。
Winのせいにするな。
むしろ今まで動いてたのがおかしいんだよ。
codはマシン語+アセンブルリスト出力すると吐き出されるよ。
0008デフォルトの名無しさん
NGNGWin2000で現れただけだろう。
mapやcodをつくるまでもなく、
ソース持っているならWin2000上でデバッガ使えばいいんじゃない?
0009デフォルトの名無しさん
NGNGオーバーした量が少しだから今までは特に影響なし。
NT2000はメモリのエラー検出が厳しいんじゃない?
0010デフォルトの名無しさん
NGNGまったくだ。
でもこの手の「デバッグすりゃいいじゃん」で悩んでるやつ多いよな。
捨て身のネタか?
00111
NGNGデバッグすればいいんですが、
デバッグモードでは症状がでないのです。
デバッグビルドしたものを直接実行する場合は落ちるのに…
なので、メッセージボックスを挿入しまくって地道にやってみます。
00122
NGNG俺が言ったようにcodとmapでトレースしろよ
まさかリリースじゃ作れないとか思ってんのか?
00132
NGNG>デバッグモードでは症状がでないのです。
>デバッグビルドしたものを直接実行する場合は落ちるのに…
OSからすべて入れなおせ。
絶対おかしい
0014>
NGNGヒープがらみのバグです。
delete,free,HeapFree,GlobalFreeや
バッフアオーバランを、
総ざらいするといいかもしれません。
あと、変則にDestroyWindow()など、ぶち壊し系APIを呼ぶと、
Windows2000は落ちます。(他のOSでは落ちません)
ちょっと凝った処理をしているところをあたってください。
0015デフォルトの名無しさん
NGNG落ちた後でデバッグできないってこと?
候補としてはメモリ破壊だな。>>9
Win2000だとたしかメモリの初期化が変わってたから、
変数の初期化し忘れとかで要らんエラーが出ることがあったような。
スマン。うろだ。とんでもないホラ吹いてるかもしれん。
まずはデバッグしてみ。
どっちにしろドキュソAPであることが判明したわけだ。
00168
NGNGジャストインタイムデバッグを使えばいいのでは?
0017Billy Gate
NGNGassertを検索して、間違ってランタイムのエラーハンドリングとして使ってな
いかチェックしてみたらどうだ(よっぽどの初心者でないとないはずだが)。。。
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG誤解の元だぞ。
0020名無しサンプリング@48kHz
NGNG>>1 の「"○○"の命令が...
のアドレスをブレークポイントに入れて走らせてみい。(Alt+F9すれ)
>>11 の 「症状がでない...
で通り過ぎてたところで止まる...こともあるよ。
00211
NGNGとても勉強になります。
落ちている場所はMFCのAfxMsgFilterHookという関数のreturn するとこのようです。
この関数の意味するところはさっぱりわかりません。
それとは別に、
落ちる処理は別スレッドで動いているのですが、
スレッドを終了するタイミングをちょっとでも遅らせると、
絶対に落ちないこともわかりました。
そのせいで、VCから実行したときには落ちなかったのかも…
0022名無し
NGNGお試し版があるよ。
http://www.rational.co.jp/products/purify_nt/
0023デフォルトの名無しさん
NGNG95/NTではちゃんと終了するのに、2000だと終了したように見せかけて
実はプロセスは残ってるって症状見たことある?タスクマネージャー
からじゃないと終了できないの。2000のメッセージ処理ってビミョウに違くない?
0024デフォルトの名無しさん
NGNG_AfxMsgFilterHookはWindowメッセージをWndProcが処理する前にこっそり処理する関数。
たしかモーダルダイアログをMFC独自にやるための処理だったと思った。
VC98\MFC\SRC\THRDCORE.CPP(705)でも見て確認してくれ。
思うに強引なスレッドの終了をしていないか?
それと、このときのpThreadってまともになっている?
あまり人に頼りすぎていると水野君って言うぞ
00251
NGNG23さんの言っていることと同じ症状なのかもしれません。
どうやら、プロセスが残ってしまっているようです。
実は私は、スレッド処理とかあまりよく分かっていない厨房なので、
勉強を兼ねて、詳しく見てみようかと思います。>強引なスレッド終了
0026デフォルトの名無しさん
NGNGハンドルクローズしてるか?
■ このスレッドは過去ログ倉庫に格納されています