問題タブ [ntdll]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - LoadLibraryEx(..., LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR) が間違った dll をロードするバグの回避策
状況は次のとおりです。これらの dll はプロセスでロードされます。
プロセスは にありc:\abc\
ます。読み込んc:\zxc\bar.dll
でいます。に暗黙的にリンクしfoo.dll
ます。c:\zxc\foo.dll
そして、同じフォルダにある にリンクする必要があります。私はそれをロードします
c:\abc\foo.dll
がロードされていない場合は、c:\zxc\foo.dll
適切にロードされてc:\zxc\bar.dll
リンクされます。ただし、c:\abc\foo.dll
がロードされている場合は、代わりに にc:\\zxc\\bar.dll
リンクします(プロセスで既にロードされている場合でも)。これは、Global Flags の [Show loader snaps] チェックボックスを使用して確認されました。c:\abc\foo.dll
c:\zxc\foo.dll
c:\zxc\foo.dll
どうすれば回避できますか?
これbar.dll
はサードパーティであるため、DELAYLOAD を実装することはできません。
c:\abc\foo.dll
そして、プロセスへのロードを防ぐことはできません。
フックを考えてntdll!LdrpFindOrMapDll
いますが、信頼性がないようで、サポートされているすべての Windows バージョンでこれを徹底的にテストする必要があるため、最初はより簡単な回避策を探しています。
c# - シリアルへの書き込み時のUWP未処理例外
UWP でのシリアル デバイスへの書き込みに問題があります。ポートに書き込むための私のタスクは次のようになります。
この関数を呼び出す最初の 2 回は、コードが正常に機能します。3 回目は、 await dataWriter.StoreAsync()行の ntdll.dll で Unhandled Exception が発生しました。
私が見ることができる完全な例外は次のとおりです。
xx.exe の 0x00007FFCB3FCB2C0 (ntdll.dll) で未処理の例外: 0xC000000D: 無効なパラメーターがサービスまたは関数に渡されました。
この回答では、入力ストリームを閉じるガベージ コレクターについて言及していますが、コードでなぜそれが発生するのかわかりません。この問題の根底に到達するための助けをいただければ幸いです。
c# - ntdll.dll でのアプリケーション クラッシュ、バージョン: 6.1.7601.23677、.Net Framework バージョン: v4.0.30319
.Net フレーム ワークを更新した後、アプリケーションが頻繁にクラッシュします。以下は、イベント ビューアで見つかったアプリケーション イベント ログです。
エラーが発生しているアプリケーション名: MyApp.exe、バージョン: Version of my App、タイム スタンプ: 0x5885f545 エラーが発生しているモジュール名: ntdll.dll、バージョン: 6.1.7601.23677、タイム スタンプ: 0x589c957a 例外コード: 0xc015000f エラー オフセット: 0x00084269 エラーが発生しているプロセス ID: 0x %9 障害のあるアプリケーションの開始時刻: 0x%10 障害のあるアプリケーションのパス: %11 障害のあるモジュールのパス: %12 レポート ID: %13 障害のあるパッケージの完全な名前: %14 障害のあるパッケージ相対アプリケーション ID: %15
また、イベントログにも以下のエラーが見つかりました。
アプリケーション: MyApp.exe .Net Framework バージョン: v4.0.30319
説明: 未処理の例外が発生したため、プロセスが終了しました。例外情報: 例外コード c015000f、例外アドレス 77994269
私にとっては、ntdll.dll と .Net バージョンの間に互換性の問題があるようです。.Net 4.0.30319 と共にインストールする必要のある KB はありますか?
クラッシュ ダンプを分析しています。コール スタックの下に表示されます。
問題は Windows 2008 にあります。同じ .Net バージョンと ntdll.dll バージョン 6.1.7601.17514 を持つマシンの 1 つで、アプリケーションは正常に動作します。
ただし、ntdll.dll バージョン6.1.7601.23677でのみ、アプリケーションがクラッシュします。