mcrblog

vcpp-ml

2000年10月

31

[vcpp 00048052] Re: CFormViewでF12を押すとint3

袴田です。

"日峰" <h...@hitachi-ms.co.jp> さん:

> F12 breakで発見。
> ID: Q130667
> 英語なんで詳細に読んでいませんが、
> Windows NTだけの機能みたい。
> デバッガが実行されているか確認していますね。
> デバッガを使うならF12を使うなってことのようですね。

おぉ! まさしくこれです。ありがとうございます。(^^)/

別にCFormViewに限った話ではないのですね。概略を書いておきますと、

現象:Windows NTでのデバッグ時、デバッグ対象のアプリケーションに
   フォーカスがあるときにF12を押すと、ブレークが発生する。
   この現象はWindows NTのみで発生し、他のWin32プラットフォーム
   では発生しない。

原因:上記の条件では、Windows NTがハードコードしたブレークを
   呼び出すので、デバッガがこのブレークが発生した例外を
   トラップする。
   これは意図した動作であり、SDK付属のWinDbgでも発生する。

解決策:この動作を無効にする方法はない。単にデバッグを中断して
    フォーカスがデバッガに移るだけであるので、F5キーで
    デバッグを続行可能である。
    F12をよく使うアプリケーションであれば、デバッグ時には
    F12に割り当てた機能を一時的に他のキーに移すのがよい。

ということだそうです。

# 結局探し方が甘いってことですね。失礼しました。(T_T)

-- Regards. --
Hiroyuki Hakamada at NEC Office Systems.
mailto:m...@sys.neos.nec.co.jp
31

[vcpp 00048051] Re: CFormViewでF12を押すとint3

Tietew です。

Tue, 31 Oct 2000 18:58:58 +0900 に
<2...@sys.neos.nec.co.jp> の
【[vcpp 00048046] CFormViewでF12を押すとint 3】で
"H.Hakamada/袴田 博之" <m...@sys.neos.nec.co.jp> さんが書かれたことには:

> 要件上、F12キーが押されたときに、ある処理を実行する必要が
> あります。

> ここで「デバッガで実行した場合、F12を押すと、自分のハンドラに
> 飛んでくる前にブレークする」という現象が発生してしまいます。
> この際、TRACEなどのメッセージは何も表示されません。

> そのまま実行を継続すればハンドラに飛んできますし、動作上の
> 問題は無いように見えます。また、単にデバッグ版を実行した
> 場合は、問題なく動作します。しかし、放っておくのも何か嫌な
> 感じがしています。

F12 は強制ブレークです。どこに書いてあったかは失念。
デバッガ上でしか効きませんのでご安心を。

デッドロックや無限ループに対しては無力なのであまり役に立ってませんが。


*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*
   Tietew   <t...@alice.vip.co.jp>   UIN:39622614
            http://www.masuclub.net/tietew/   Tietew Windows Lab.
   ☆ 鱒倶楽部 ☆ http://www.masuclub.net/
   PGP fingerprint: 26CB 71BB B595 09C4 0153  81C4 773C 963A D51B 8CAA
*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*
31

[vcpp 00048050] RE: CFormViewでF12を押すとint 3

日峰です。

> VC6SP4+PlatformSDK July 2000+Windows2000上で、CFormView
> ベースのアプリケーションを開発しています。
>
> 要件上、F12キーが押されたときに、ある処理を実行する必要が
> あります。
>
> ここで「デバッガで実行した場合、F12を押すと、自分のハンドラに
> 飛んでくる前にブレークする」という現象が発生してしまいます。
> この際、TRACEなどのメッセージは何も表示されません。
>
> そのまま実行を継続すればハンドラに飛んできますし、動作上の
> 問題は無いように見えます。また、単にデバッグ版を実行した
> 場合は、問題なく動作します。しかし、放っておくのも何か嫌な
> 感じがしています。

--省略--

> MicrosoftのknowledgeBaseやサーチエンジンで、CFormViewとかVK_F12
> とかBaseAttachCompleteThunkとかをキーに検索したのですが、ヒントを
> 見つけられませんでした。
>
> この現象について何かご存じの方はいらっしゃいますでしょうか?

私は知りません。

F12をESCの代わりにエスケープ(脱出)に使っているプログラムもありますね。

現象を確認しました。
その通り、ブレークするが何も起きませんでした。
__asm int3 を実行するのは、 ::GetMessage 中です。
別の言い方をするとカーネルが実行中のときかな。

F12 breakで発見。
ID: Q130667
英語なんで詳細に読んでいませんが、
Windows NTだけの機能みたい。
デバッガが実行されているか確認していますね。
デバッガを使うならF12を使うなってことのようですね。
31

[vcpp 00048049] Re: NTでSetCommState()がエラー

神野です。

Tue, 31 Oct 2000 19:30:46 +0900 ごろに
<O...@kyoceramita.co.jp> の
"[vcpp 00048047] NTでSetCommState()がエラー" のメールで
n...@kyoceramita.co.jp さんは書きました。

> SetCommState()の返り値が0となっており、正常に出来ていないの
> が原因みたいなのですが、どうしてWin95,98では、設定できている
> のにNTで出来ないのでしょうか?

理由は知りませんが、GetLastError()してみたら
なにかヒントがつかめるかもしれません。

> 先週、Win2000でデータが ALLゼロにって話題が出ていたと思いま
> すが同じ現象なのでしょうか?

Date: Fri, 13 Oct 2000 18:00:41 +0900
Subject: [vcpp 00047370] Win2000でシリアル通信すると、データが ALLゼロに

Date: Sat, 14 Oct 2000 18:33:37 +0900
Subject: [vcpp 00047404] Re: [解決 ] Win2000でシリアル通信すると、データが ALLゼロに

ですね。
試してみてはどうでしょう?
#「GetCommState()してからSetCommState()しましょう」
#ってのは、ヘルプにも書いてあったと思いますが。

-- 
神野健吾 <k...@orange.co.jp>
31

[vcpp 00048048] Re: CFileDialogの拡張

Tietew です。

Tue, 31 Oct 2000 17:43:30 +0900 に
<010d01c04317$3c50a200$4...@inworld.ne.jp.ns.inworld.ne.jp> の
【[vcpp 00048041] CFileDialogの拡張】で
"16-Kz" <c...@nifty.ne.jp> さんが書かれたことには:

> コモンダイアログのCFileDialogで
> ファイル名とファイル種類の項目を消して表示したいのですが、
> 可能でしょうか?
> フォルダの指定をやりたいだけなんですけど。。。

SHBrowseForFolder では駄目でしょうか。

*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*
   Tietew   <t...@alice.vip.co.jp>   UIN:39622614
            http://www.masuclub.net/tietew/   Tietew Windows Lab.
   ☆ 鱒倶楽部 ☆ http://www.masuclub.net/
   PGP fingerprint: 26CB 71BB B595 09C4 0153  81C4 773C 963A D51B 8CAA
*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*
記事検索
Amazon.co.jp
  • ライブドアブログ