1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows 11 で Visual C++ 6.0 を動かす手順と、デバッガ(ステップ実行)不具合の回避策

1
Posted at

Windows 11 環境において、1998年製のレガシー開発環境「Visual C++ 6.0(VC6)」をネイティブにインストールし、かつ現代のOS仕様に伴うデバッガのハング・クラッシュ問題を回避してステップ実行(デバッグ動作)を安定させるための手順と、隠された設定変更の備忘録です。

1. Windows 11 へのインストールとOSバージョンの影響

Windows 11 に VS6/VC6 を導入する際の手順は、基本的には Windows 10 時代と同様ですが、OSのビルドバージョン(機能更新プログラム)によってデバッガの挙動が大きく変化します。

■ インストール時の基本方針

  • 現代の環境では競合を起こすため、インストーラの設定で「DB(データベース)関係」のコンポーネントはインストール対象から外します。
  • 導入後は、必ず Service Pack 6(SP6)を適用します。

■ Windows 11 のバージョンによる動作の違い

  • Windows 11 21H2 以前: インストール自体は可能で起動もしますが、デバッガでブレークポイントにヒットした後の挙動が不安定(ハングアップ等)になり、実用的なデバッグが困難な傾向があります。
  • Windows 11 22H2 以降: OS内部の互換性レイヤーの調整により、VC6の起動および基本的なビルド・ステップ実行の安定性が大幅に向上します。Windows 11 でVC6を運用する場合は、OSを 22H2 以降の最新状態に更新しておくことが大前提となります。

2. デバッガのステップ実行時に発生するエラーの回避策

Windows 11(22H2以降)のホスト環境、あるいは仮想マシン環境でVC6デバッガを使ってステップ実行を試みると、環境に応じて以下のいずれかの致命的なエラーダイアログが表示され、デバッグが中断される現象に直面します。

■ 発生する代表的なエラーパターン

  1. アクセス違反型(主に仮想環境など)
    ハンドルされていない例外は [アプリ名].exe (OLE32.DLL) にあります: 0xC0000005: Access Violation
  2. 管理者権限要求型(主にホスト環境など)
    OLE リモート呼び出しデバッグには管理者権限が必要です: この機能は使用できません。

これらは現代の Windows の厳格なセキュリティ機構および RPC(リモート手続き呼び出し)の仕様変更に対し、VC6側の古い OLE デバッグ機能が衝突していることが原因です。

【解決手順】「OLE RPC デバッグ」の無効化

VC6側の内部デバッグオプションを変更することで、この衝突を完全に回避できます。ただし、項目がグレーアウトしていてそのままでは変更できないため、以下の特殊な手順を踏む必要があります。

  1. VC6のメニューから 「ツール」「オプション」 を開きます.
  2. 「デバッグ」 タブを選択します.
  3. 設定を変更可能にするため、一度 「ジャスト イン タイム デバッグ」 のチェックを ON にします.
  4. これによりロックが解除されるため、「OLE RPC デバッグ」 のチェックを OFF(空欄) に変更します.
  5. 設定適用後、必要に応じて「ジャスト イン タイム デバッグ」のチェックを元の状態に戻します.

この設定を施すことで、OLE32.DLLによるアクセス違反や管理者権限の警告に遮られることなく、Windows 11上でも綺麗にブレークポイントで止まり、F10/F11による正確なステップ実行が可能になります。

3. 現代のストレージ環境(SSD)への適応Tips

Windows 11環境ではシステムドライブが超高速なSSD(NVMe等)になっていることが一般的です。
VC6のビルドによる頻繁なファイル書き込みからSSDの寿命(TBW)を保護するため、プロジェクトの出力ディレクトリ($(OutDir))をHDD側やRAMディスク側へ逃がし、プロジェクトフォルダ内には mklink コマンドで 「シンボリックリンク」 を張って結合させておく運用が、ドライブの負荷軽減とクリーンなビルド環境の維持に非常にお勧めです。


検証の経緯と詳細なエラーログのキャプチャ

Windows 11 21H2から22H2へのアップグレードに伴う挙動変化のタイムラインや、仮想環境(ホストOSとゲストOSの差異)での詳細な動作検証データ、コンポーネントギャラリの制限事項、およびシンボリックリンクを用いたスマートな運用環境の構築手順については、私のブログにて実体験ベースのドキュメントとして詳しく公開しています。

実際に設定画面を確認しながら環境構築を進めたい方、同様のエラーでデバッガが動かず困っている方は、ぜひご参照ください。

詳細記事はこちら:

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?