青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

沒畫完的畫

喂馬 劈柴 BBQ~
posts - 37, comments - 55, trackbacks - 0, articles - 0
  C++博客 ::  :: 新隨筆 :: 聯系 :: 聚合  :: 管理

SymInitialize 函數

Posted on 2008-08-27 21:16 沒畫完的畫 閱讀(2548) 評論(0)  編輯 收藏 引用 所屬分類: VC
SymInitialize 函數
本文內容摘自MSDN,如有翻譯不當之處,敬請指正

Initializes the symbol handler for a process.
為某個進程初始化符號處理器
BOOL WINAPI SymInitialize
(
  __in      HANDLE hProcess,
  __in_opt  PCTSTR UserSearchPath,
  __in      BOOL fInvadeProcess
);

參數:

hProcess [in]

A handle that identifies the caller. This value should be unique and nonzero, but need not be a process handle. However, if you do use a process handle, be sure to use the correct handle. If the application is a debugger, use the process handle for the process being debugged. Do not use the handle returned by GetCurrentProcess when debugging another process, because calling functions like SymLoadModuleEx can have unexpected results.

This parameter cannot be NULL.

調用者的句柄識別符. 這個值是獨一無二而且非零,可以不是進程的句柄.然而,如果你用進程的句柄的話,必須確定它是一個合法的句柄.如果你寫的應用程序是一個調試器,在進程調試的時候使用進程名柄.  在調試其它進程時不要使用GetCurrentProcess()返回的句柄,不然在調用像 SymLoadModuleEx 這些函數時會有異想不到的后果.
 
UserSearchPath [in, optional]

The path, or series of paths separated by a semicolon (;), that is used to search for symbol files. If this parameter is NULL, the library attempts to form a symbol path from the following sources:

  • The current working directory of the application
  • The _NT_SYMBOL_PATH environment variable
  • The _NT_ALTERNATE_SYMBOL_PATH environment variable

Note that the search path can also be set using the SymSetSearchPath function.


路徑, 也可以是用分號隔開的多個路徑, 用來搜索符號文件(.pdb). 如果這個參數為 NULL, 那么搜索符號文件的路徑時會按照這樣的順序來找
. 當前應用程序的工作目錄
. 環境變量 _NT_SYMBOL_PATH  指向的路徑
. 環境變量 _NT_ALTERNATE_SYMBOL_PATH 指向的路徑 
 
fInvadeProcess [in]

If this value is TRUE, enumerates the loaded modules for the process and effectively calls the SymLoadModule64 function for each module.
如果這個參數為TRUE, 將列出進程所調用的模塊和保證每個模塊有效地調用 SymLoadModule64 函數

  Return Value

If the function succeeds, the return value is TRUE.

If the function fails, the return value is FALSE. To retrieve extended error information, call GetLastError.
返回TRUE,表示成功,返回FALSE,表示失敗,調用 GetLastError() 獲取更多信息

Remarks

The SymInitialize function is used to initialize the symbol handler for a process. In the context of the symbol handler, a process is a convenient object to use when collecting symbol information. Usually, symbol handlers are used by debuggers and other tools that need to load symbols for a process being debugged.

SymInitialize用來為進程初始化符號處理器, 在符號處理器收集符號信息時,一個進程需要使用一個合適的對象.
通常, 符號處理器用于 調試器 和 其它加載另一個正在調試的進程的符號的工具

The handle passed to SymInitialize must be the same value passed to all other symbol handler functions called by the process. It is the handle that the functions use to identify the caller and locate the correct symbol information. When you have finished using the symbol information, call the SymCleanup function to deallocate all resources associated with the process for which symbols are loaded.
傳遞給SymInitialize 函數的句柄必須與調用其它 符號處理器函數時所傳遞的句柄相同. 這個句柄用于識別調用者和定位正確的符號信息. 當使用完符號處理后,調用
SymCleanup 函數釋放加載符號的進程的相關資源

The search for symbols files is performed recursively for all paths specified in the UserSearchPath parameter. Therefore, if you specify the root directory in a search, the whole drive is searched, which can take significant time. Note that the directory that contains the executable file for the process is not automatically part of the search path. To include this directory in the search path, call the GetModuleFileNameEx function, then add the path returned to UserSearchPath.
 查找符號文件(.pdb) 需要 UserSearchPath 參數提供的所有路徑. 然而, 如果指定根目錄查找, 將搜索所有的驅動器,這會花很多時間.
需要注意可執行文件所在的目錄,并非自動搜索的范圍. 可以通過調用 GetModuleFileNameEx 把程序所在的路徑包含進去

A process that calls SymInitialize should not call it again unless it calls SymCleanup first. If the call to SymInitialize set fInvadeProcess to TRUE and you simply need to reload the module list, use the SymRefreshModuleList function.
一個進程在調用 SymCleanup 之前不能再調用 SymInitialize. 如果調用 SymInitialize 時設置  fInvadeProcess 為 TRUE, 你只需要調用 SymRefreshModuleList 就可以重新加載模塊列表


All DbgHelp functions, such as this one, are single threaded. Therefore, calls from more than one thread to this function will likely result in unexpected behavior or memory corruption. To avoid this, call SymInitialize only when your process starts and SymCleanup only when your process ends. It is not necessary for each thread in the process to call these functions.

To call the Unicode version of this function, define DBGHELP_TRANSLATE_TCHAR.
所有的 DbgHelp 函數都是單線程的, 像本函數也是,然而, 在多個線程里調用本函數會造成不可遇知的后果或內存崩潰.
只在進程開始時調用 SymInitialize且只在進程結束時調用 SymCleanUp 就可以避免了.沒必要每個線程都調用這些函數.

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            午夜一区二区三区在线观看 | 欧美日韩一级视频| 亚洲二区精品| 欧美成人精品一区二区| 久久久免费观看视频| 精品av久久久久电影| 欧美刺激性大交免费视频| 免费看亚洲片| 一本色道久久综合亚洲精品按摩 | 免费一级欧美片在线观看| 久久人91精品久久久久久不卡| 亚洲第一久久影院| 亚洲国产精品视频| 欧美日韩精品在线视频| 亚洲一区日韩在线| 久久gogo国模啪啪人体图| 亚洲第一精品电影| 日韩视频中午一区| 国产日韩欧美黄色| 亚洲第一视频网站| 国产精品豆花视频| 另类春色校园亚洲| 欧美日韩亚洲综合在线| 欧美在线观看天堂一区二区三区 | 蜜臀久久99精品久久久画质超高清| 久久亚洲影院| 亚洲综合成人在线| 久久精品成人| 中文亚洲欧美| 久久久久久9| 一本不卡影院| 欧美中文字幕视频| 亚洲图片激情小说| 久久综合久久综合久久综合| 中日韩视频在线观看| 欧美在线视频一区二区| 一本色道婷婷久久欧美| 久久国产毛片| 亚洲一区www| 久久综合一区二区| 欧美一级理论性理论a| 欧美粗暴jizz性欧美20| 久久精品一区四区| 欧美视频福利| 亚洲高清不卡一区| 国产婷婷色一区二区三区| 亚洲欧洲一区二区天堂久久| 国产亚洲激情视频在线| 一本色道久久综合| 亚洲欧洲日本国产| 久久久九九九九| 午夜日韩在线观看| 欧美日韩ab片| 亚洲电影观看| 亚洲大片av| 欧美专区一区二区三区| 午夜精品视频| 国产精品成人国产乱一区| 亚洲日本电影| 亚洲人成人99网站| 免费看精品久久片| 欧美肥婆在线| 亚洲高清久久久| 久久久欧美一区二区| 久久精品国产精品亚洲| 国产精品视频大全| 亚洲一区二区三区在线看| 一本色道婷婷久久欧美| 欧美绝品在线观看成人午夜影视| 乱码第一页成人| 精品99一区二区三区| 久久精品亚洲一区| 老司机午夜免费精品视频| 国内自拍视频一区二区三区| 亚洲欧美日韩国产中文| 欧美在线观看一区二区三区| 国产日韩精品久久久| 亚洲欧美电影在线观看| 久久国产精品久久久| 国内伊人久久久久久网站视频| 欧美影视一区| 久久综合给合| 亚洲经典在线看| 欧美精品三区| 中文有码久久| 久久精品av麻豆的观看方式| 国内精品视频在线观看| 看欧美日韩国产| 亚洲精品1区2区| 亚洲永久免费视频| 国产一区视频观看| 狂野欧美激情性xxxx| 亚洲欧洲精品一区二区三区| 亚洲午夜激情在线| 国产视频自拍一区| 免费成人在线视频网站| 日韩视频一区二区三区| 久久成人在线| 亚洲国产精品第一区二区三区| 欧美国产综合一区二区| 一区二区三区精密机械公司| 久久成人在线| 99re在线精品| 国产精品一二三视频| 麻豆精品视频在线观看| 99精品国产在热久久婷婷| 久久激情久久| 一区二区黄色| 狠狠狠色丁香婷婷综合激情| 欧美激情一二三区| 欧美在线啊v| 91久久香蕉国产日韩欧美9色| 亚洲欧美日韩在线观看a三区| 狠狠色丁香久久婷婷综合_中| 欧美电影免费观看高清完整版| 亚洲图片在线| 91久久精品国产91久久性色tv| 欧美一区二区三区四区在线观看地址 | 亚洲淫性视频| 欧美福利精品| 欧美在线视频播放| 一本久久精品一区二区| 狠狠入ady亚洲精品| 国产精品草莓在线免费观看| 狂野欧美性猛交xxxx巴西| 亚洲免费在线精品一区| 亚洲人成啪啪网站| 男女激情视频一区| 久久精品一区蜜桃臀影院 | 国产一区自拍视频| 欧美视频在线观看视频极品| 免费一级欧美片在线观看| 欧美一区二区三区在| 在线综合+亚洲+欧美中文字幕| 欧美激情无毛| 欧美freesex交免费视频| 久久久天天操| 久久国产精品电影| 性xx色xx综合久久久xx| 亚洲小说欧美另类社区| 一区二区高清| 日韩午夜精品视频| 91久久夜色精品国产九色| 在线观看欧美精品| 怡红院av一区二区三区| 国产中文一区| 狠狠色丁香婷婷综合影院| 国产欧美一区二区精品仙草咪| 欧美视频在线观看免费| 欧美四级在线观看| 欧美日韩中文字幕在线| 欧美午夜www高清视频| 欧美三级不卡| 国产精品激情| 国产美女精品免费电影| 国产一区二区日韩| 韩国一区二区三区在线观看| 韩日欧美一区二区| 亚洲成在人线av| 亚洲国产日韩欧美综合久久| 亚洲精品日本| 一本久久青青| 欧美一级视频精品观看| 久久精彩视频| 欧美电影免费网站| 亚洲经典视频在线观看| av成人动漫| 午夜在线电影亚洲一区| 久久精品国产亚洲5555| 免费欧美高清视频| 欧美日韩国产麻豆| 国产精品二区在线观看| 国产午夜精品全部视频播放| 在线观看视频一区二区| 亚洲精品亚洲人成人网| 亚洲一区亚洲| 久久久国产精品一区二区三区| 噜噜噜在线观看免费视频日韩| 亚洲国产影院| 亚洲欧美日韩综合国产aⅴ| 久久久久国产一区二区三区| 欧美激情精品久久久久久黑人| 国产精品久久久久久av福利软件 | 麻豆乱码国产一区二区三区| 欧美区高清在线| 国产一区二区精品久久99| 最新亚洲激情| 欧美一级淫片aaaaaaa视频| 欧美国产视频在线观看| 亚洲视频在线免费观看| 久久久国产精彩视频美女艺术照福利| 老司机成人在线视频| 国产精品久久久久久久久久妞妞| 激情成人中文字幕| 亚洲图片你懂的| 欧美成人按摩| 亚洲欧美日韩另类精品一区二区三区| 久久午夜色播影院免费高清| 欧美日韩一二区| 91久久精品美女高潮|