2016-07-28 9 views
4

私は、Windows 10上のクロムを構築しようとしてきたが、私はそのパターンに起因すると思われる実行時に変なエラー、取得しています:クロムブラウザmodule_list.ccに致命的なエラーを構築する:チェックに失敗しました

void CheckFreeLibrary(HMODULE module) { 
    BOOL result = ::FreeLibrary(module); 
    DCHECK(result); 
} 

Chromiumの起動後数秒後に最初のエラーが表示されます。ここでは、それが言うことだ:

[5904:9192:0726/025753:FATAL:module_list.cc(18)] Check failed: result. 
Backtrace: 
    base:debug:StackTrace:StackTrace [0x0000....] (e:\projects\clones\chromium\src\base\debug\stack_trace.cc) ... 

私はスタック全体をコピー&ペーストができませんでしたので、私はそれがすべてのように感じているかのスクリーンショット参加します:私は最後のリビジョンを構築することに成功しています StackTrace errors

を、少なくとも、Building instructionsで推奨されるツールチェーンを使用してコンパイルするときにエラーが表示されないので、成功しているようです。

幸いにも、最初のエラーはモーダルではなく、少し後にブラウズすることは可能です。その後、アプリケーションをFacebookのニュースフィードなどの負荷が高い状態にすると、静かに応答を停止します。マウスのホバリング効果はもう表示されず、ページを再読み込みすると無限に読み込まれます。この動作は、一部のページを右クリックすると再現性がありません(例:Googleのホームページでは時々そうなります)。

これはデフォルト設定で「すぐに使える」とはどういう説明がありますか?これを修正するには?

P .:この質問は、質問の全体像を得るのに役立つ場合は Windows chromium-browser fresh build stacktrace and anonymous fatal errors on runtimeの補足です。

P.S.2:私は現在、このわずかな変更で最初から再構築して、よりうまくいくかどうかを確認しようとしています。私は約10時間後にそれを見ることができるでしょう(はい、ビルドは私の現在のセットアップで苦しいです)。

void CheckFreeLibrary(HMODULE module) { 
    BOOL result = ::FreeLibrary(module); 
    if (!result) { 
     result = ::UnmapViewOfFile(module); 
    } 
    DCHECK(result); 
} 

アップデート - CheckFreeLibraryと2016年7月29日

テストはまだデバッグに失敗したが、私は最終的にビルドで問題を解決する方法を見つけました。スーパーユーザーquestionのアップデート3を参照してください。私がやったのは、gn argsでビルドをリリースモードに設定することでした。これは、明らかに、デバッグするのがほぼ不可能であるため、デバッグモードで失敗する理由についてはまだ解明されていません。しかし、これはかなり近いです。

アップデート2 - 2016年8月13日

は、リポジトリ内の最新バージョンで再びデバッグバージョンを持っているすべての繰り返しを開始し、この時間は、私が何かを見つけるために十分確信していました。実際には、私がアップデート、生成、ビルドのための通常の手順を実行した後、Windowsキットデバッガにあるwin-core-* DLLライブラリの一部がコピーされていないことがわかりましたsrcフォルダのうち、プロセス。予防措置として、遅延ロードやビルドの依存関係が存在することを確認するために、それらをすべてコピーしました。 Chromeが初めて起動したとき、エラーは表示されず、問題を解決していると思った。しかし、Googleホームページを右クリックしても同じ効果が得られました(応答がない場合、ブラウザはページを表示しなくなりました)。それを閉じて再オープンすると、エラーが表示され始めます。

これを経験した人はいますか?私は "Linux上でやる、このプラットフォームでうまくいく"のようなものにとても満足しています。私はそれがより良く働くことを知らずにそれをしたいとは思わない。

答えて

0

は、デバッグに失敗したので

BOOL result = ::FreeLibrary(module); 
あなたは本当のエラーを取得する

DWORD WINAPI GetLastError(void); 

を持っているかどうかを確認構築します。

私は

モジュールは

モジュールは

おそらくいくつかのDEBUG文はモジュールの値を変更しているNULLでロードされていないと思うだろうか?

+0

私はそれを見ていただき、ありがとうございます! –

関連する問題