0


0

私のチームが取り組んでいたプロジェクトは、開発環境(Visual Studio 2005)がインストールされていないコンピューターに展開する必要があるという点に達しました。 最初は依存関係の問題を解決しましたが、まだ問題があります。

さて、インストーラが終了すると、WinMainに入る前に私たちのプロジェクトはどこかで動けなくなります。 13MBのRAMしか消費しませんが、CPUサイクルの50%を占めます。

この問題をデバッグする方法について何か提案はありますか?

編集:説明 - これはCプロジェクトです。

3 Answer


2


何らかのグローバル変数が初期化されている間にハングアップが発生する可能性はありますか? これはWinMainより前に起こり、グローバル変数のコンストラクタから任意のコードを実行することができます。 また、http://technet.microsoft.com/ja-jp/sysinternals/bb896653.aspx [Process Explorer]を使用して、ビジー状態のスレッドのスタックを調べてください(意味のあるスタックトレースを取得するために必ずPBDをデプロイしてください) 。 スタックトレースは、そのスレッドがどこでハングアップしているかを明確にするはずです。


0


アプリケーションのどの部分が正常に実行されたかを示すprintステートメントをコンソールに出力するという、昔のデバッグに頼る必要があるかもしれません。 ターゲットマシンにIDEがインストールされていなければ、デバッグのための選択肢はあまり多くありません。


0


実行中のVistaまたはWindows 7の場合は、タスクマネージャからメモリダンプを作成し(右クリックして[ダンプファイルの作成]を選択)、それを開発用コンピュータに転送してシンボルをロードすると、その時点のプログラムの場所が表示されます。