【Windows】 VisualStudio 2010 でコンソールアプリの実行中断ができない
いやはや、VisualStudioなんて随分ご無沙汰。Visual BasicやらVisual C++やら昔は色々と触ったもんやけどねぇ。
SystemCを使った回路シミュレーションをやろうとしたら、Windows環境ではVisual C++がサポートされていたみたい。Cygwinでも良いんやけど、この際なんでVisualStudio 2010 Express入れてみました。
SystemCのアプリは大抵コンソールアプリとして作るんやけど、ここで問題が発生。
デバッガでソースコードをトレースしている途中に、バグの原因が分かったのでコード修正するために実行中断をしたわけです。にも関わらず何故かコンソールウィンドウが残ってしまっている。
タスクマネージャから強制終了しようと思ったら、なんとプロセスリストにも出てこないのだ。
どうしたものかと調べてみた所、これはどうやらマイクロソフトのバグらしい。プロセスの特権が昇格されてしまうとの情報が。そうか、特権レベルで動いてしまうからユーザレベルからプロセスを止められないのか...。
Visual Studio では、Windows XP を実行しているコンピューター上でアプリケーションのデバッグを停止した後、アプリケーションのコンソール ウィンドウを閉じることはできません。
結局、978037のセキュリティ更新プログラムをインストールする事が対策のようです。
無事解決しました。
(2011/01/04追記)
訂正事項です。
完全に誤解を招く書き方をしていましたが、978037のセキュリティ更新プログラムをインストールする事は対策ではなく原因です。で、978037の情報ページに本件の対策パッチがリリースされているので、それを適用する事が解決方法になります。このパッチは正式なバージョンではないためダウンロードにはメールアドレス等の登録が必要です。
発生条件はWindows XP SP2 or SP3で978037のパッチをインストールしている事のようです。逆にこのセキュリティ更新プログラムをアンインストールしても良いのやけどね。
« 【C++】 VisualStudio 2010 でのsnprintf関数 | トップページ | 【SystemC】 cannot have more than one driverエラー »
「SystemC」カテゴリの記事
- 【SystemC】 cannot have more than one driverエラー(2010.11.30)
- 【Windows】 VisualStudio 2010 でコンソールアプリの実行中断ができない(2010.11.30)
- 【SystemC】 SystemC with MinGW, MSYS(2009.08.19)
「Windows」カテゴリの記事
- 【Windows】 VisualStudio 2010 でコンソールアプリの実行中断ができない(2010.11.30)