除錯幫助庫允許從外部存盤加載符號。您只需呼叫SymSetSearchPath,指定符號服務器,然后SymLoadModuleExW從指定位置加載符號。
下載符號可能需要一些時間,我目前正在尋找一種取消下載符號的方法。但突然間我找不到任何 API。
有沒有辦法取消下載符號?
uj5u.com熱心網友回復:
您只能在您無法控制的特定時間進行。
要取消下載,您:
- 使用SymRegisterCallback64或SymRegisterCallbackW64 函式注冊回呼函式。
- 在回呼處理 CBA_DEFERRED_SYMBOL_LOAD_CANCEL 訊息。
例如
SymRegisterCallbackW64(process, sym_register_callback_proc64, nullptr);
BOOL CALLBACK sym_register_callback_proc64(__in HANDLE h_process, __in ULONG const action_code, __in_opt ULONG64 const callback_data, __in_opt ULONG64 const user_context)
{
switch (action_code)
{
...
case CBA_DEFERRED_SYMBOL_LOAD_CANCEL:
if(<test for cancel now?>)
{
return TRUE;
}
break;
...
}
// Return false to any ActionCode we don't handle
// or we could generate some undesirable behavior.
return FALSE;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/510143.html
標籤:温纳皮数据库帮助
上一篇:將虛擬檔案復制到剪貼板
