問題タブ [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.
c - カスタム プロファイリング コードが常に PC が KeFastSystemCallRet() にあると通知するのはなぜですか?
フレームワークでラグをプロファイリングしようとしています。私は MinGW を使用しているため、gprof は DLL で動作しません(私にとっては、初期化関数が 1 回だけではなく何千回も実行されるなどのゴミ情報さえ提供してくれました)、gperftools のプロファイラーは Windows ではサポートされていません (まだ)。試してみましたCygwinの:
ただし、これが返すプロファイルは役に立ちません。
この特定の値は wine にあり、 にリダイレクトされ__kernel_vsyscall+0x3
ます。実際の Windows には、7C90E514
代わりに にリダイレクトするようなものがありntdll!KeFastSystemCallRet
ます。
私は推測しています(ワインスタックトレースを考えると)これはGetMessage()
.
スリープ期間を 100 から 1 に変更すると、時折より意味のある値が得られます。
足りないものはありますか?より良いプロファイリングオプションはありますか、それとも根本的に間違っていますか?
ありがとう。
c# - マルチスレッドの win フォーム アプリで ntdll.dll がクラッシュする
VS2013 64 ビット、.Net FW 4.5.0、EMGU.CV、NReco.VideoConverter の使用
ソリューションにはいくつかのプロジェクトがあります。ソリューションのワークフローは次のとおりです。
- 動画ファイルを入力(任意の形式)
- ファイルを複数のファイルに分割します (5 分間)
- TPLで一度に2つのビデオファイルを変換
- そして、ビデオ処理を並列に開始します
- 2つのファイルを並行して処理した後(それぞれ5分)、両方の処理ウィンドウを閉じる必要があります(実際にはwinFormプロジェクト)
- その後、次の 2 つの分割ファイルの変換が開始されました
- 変換が成功すると、手順 4 が再び開始され、分割されたすべてのファイルが処理されるまで実行されます。
ここに問題があります。7 番目のステップに到達し、2 番目の 2 つのファイルの変換が成功した後、動作を停止します。実際には、vedio 処理を再開しようとしました。エラーはVSHOST32.exe has stopped working
です。イベントログの終わり 私はこれを手に入れました:
何が問題なのntdll.dll?
c - GetProcAddress(GetModuleHandle("user32.dll"), "DefWindowProcW") は ntdll のアドレスを返します
Windows 7 Professional x64 を使用しています。
DefWindowProcW プロシージャをフックする必要があります。しかし、 経由でアドレスを取得しようとすると、ntdll.dll にあるのGetProcAddress()
アドレスが返されます。の先頭にNtdllDefWindowProcW()
実際のuser32
関数へのジャンプがあります。DefWindowProcW()
NtdllDefWindowProcW()
ntdll プロシージャの代わりに実際のプロシージャ アドレスを取得する方法はありますか?
c++ - MFC アプリケーションは Visual Studio で動作するが、ダブルクリックで起動するとクラッシュする
に GUI アプリケーションがありMFC
ます。何らかの理由で、Visual Studio のリリースおよびデバッグ モードでは問題なく動作しますが.exe
、ダブルクリックで起動するとクラッシュします。
Visual Studio でホストされている場合は完全に正常に動作するため、このエラーがどこにあるのかわかりません。必死になって、すべての最適化ルーチンを無効にしましたが、効果がないようです。
OS
はWin 7
、IDE
ですVS 2010
。
障害のあるモジュールは ですがntdll.dll
、それが本当の問題かどうかは疑わしいです...
編集 -
デバッガーをクラッシュに接続すると、次の問題が表示されますLoadFrame()
これは以下を呼び出します:
そして、ここが Visual Studio 以外で失敗する場所です。
与えられた例外は :The activation context being deactivated is not the most recently activated one
です。
私は周りを検索して、次のことを試しました。つまり、 allExceptions
を throw に設定して、処理された例外をキャッチし、 に設定afxAmbientActCtx
しましFALSE
たが、うまく実行できませんでした。これexe
は以前は問題なく動作していました。
親切なアドバイス。
c++ - LibVLC アクセス違反
LibVLC でログを設定しようとしていますが、いくつかの問題が発生しています。
私が使用している関数は libvlc_log_set_file です。ドキュメントは次のとおりです: LibVLC logging docs
ここに私が今持っているコードがあります:
このlibvlc_log_set_file
行で、「nw.exe の 0x77559E33 (ntdll.dll) で未処理の例外: 0xC0000005: アクセス違反の書き込み場所 0x00000014」というエラーが表示されます。
私は問題なくファイルを開いて書き込むことができますfputs()
。
64ビットのWindows 7マシンでVisual Studio 2013を使用して32ビットにコンパイルするWebChimera.jsでNW.jsを使用しています。
何か案は?
c# - Is this stack trace ending with _NtWaitForSingleObject@12() indicating a blocked or an idle thread?
I have an application that makes heavy use of the Task Parallel Library. As my application runs, I notice that the number of threads reported being used by ProcessExplorer at times exceeds 200 threads for my application and eventually the application will lock when it runs out of threads.
When a I took a FULL DUMP of the memory using AdPlus and opened it in Visual Studio, I saw 82 threads running at that time (although ProcessExplorer reported over 100 at the time).
Many of those threads (42 of them) show only the following stack trace:
My question is:
上記のスタック トレースを持つスレッドは、私が開始してその後孤立した何かを待っていますか? それとも、そのスタック トレースはアイドルスレッドを示しているだけですか?
windows - dll は常に同じ方法でプロセスにロードされますか?
ミニプロファイラーを構築しようとしています。特定の一連のテストの関数呼び出しを記録し、特定のモジュールのどの関数が実行されたかを後で知ることになっています。
[モジュール名、アドレス オフセット] のペアに安価に変換できる仮想アドレスの束を記録します。
すべてのプロセスで PDB をロードし、シンボル名を照会するのは、非常にコストのかかる操作です。
[モジュール名、アドレス オフセット] のリストを保存してから、PDB を後処理プログラムにロードし、これらを一度だけシンボルにマップすることを考えています。
モジュール/dll が常に同じ方法でロードされるかどうか、つまり、モジュール ベースからのシンボルの仮想アドレス オフセットが常に同じかどうかはわかりません。
モジュール (同じバイナリ dll) が異なる Windows エディション (例: Win7 と WinServer2008) にロードされた場合も同じですか?