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

沒畫完的畫

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

SymInitialize 函數(shù)

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

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

參數(shù):

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.

調(diào)用者的句柄識別符. 這個值是獨一無二而且非零,可以不是進程的句柄.然而,如果你用進程的句柄的話,必須確定它是一個合法的句柄.如果你寫的應(yīng)用程序是一個調(diào)試器,在進程調(diào)試的時候使用進程名柄.  在調(diào)試其它進程時不要使用GetCurrentProcess()返回的句柄,不然在調(diào)用像 SymLoadModuleEx 這些函數(shù)時會有異想不到的后果.
 
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). 如果這個參數(shù)為 NULL, 那么搜索符號文件的路徑時會按照這樣的順序來找
. 當(dāng)前應(yīng)用程序的工作目錄
. 環(huán)境變量 _NT_SYMBOL_PATH  指向的路徑
. 環(huán)境變量 _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.
如果這個參數(shù)為TRUE, 將列出進程所調(diào)用的模塊和保證每個模塊有效地調(diào)用 SymLoadModule64 函數(shù)

  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,表示失敗,調(diào)用 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用來為進程初始化符號處理器, 在符號處理器收集符號信息時,一個進程需要使用一個合適的對象.
通常, 符號處理器用于 調(diào)試器 和 其它加載另一個正在調(diào)試的進程的符號的工具

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 函數(shù)的句柄必須與調(diào)用其它 符號處理器函數(shù)時所傳遞的句柄相同. 這個句柄用于識別調(diào)用者和定位正確的符號信息. 當(dāng)使用完符號處理后,調(diào)用
SymCleanup 函數(shù)釋放加載符號的進程的相關(guān)資源

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 參數(shù)提供的所有路徑. 然而, 如果指定根目錄查找, 將搜索所有的驅(qū)動器,這會花很多時間.
需要注意可執(zhí)行文件所在的目錄,并非自動搜索的范圍. 可以通過調(diào)用 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.
一個進程在調(diào)用 SymCleanup 之前不能再調(diào)用 SymInitialize. 如果調(diào)用 SymInitialize 時設(shè)置  fInvadeProcess 為 TRUE, 你只需要調(diào)用 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 函數(shù)都是單線程的, 像本函數(shù)也是,然而, 在多個線程里調(diào)用本函數(shù)會造成不可遇知的后果或內(nèi)存崩潰.
只在進程開始時調(diào)用 SymInitialize且只在進程結(jié)束時調(diào)用 SymCleanUp 就可以避免了.沒必要每個線程都調(diào)用這些函數(shù).

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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| 亚洲午夜激情| 欧美日韩国产高清视频| 久久久久久有精品国产| 亚洲午夜精品一区二区| 久久亚洲免费| 久久久噜噜噜久久中文字幕色伊伊| 加勒比av一区二区| 久久精品国产视频| 午夜久久资源| 欧美激情国产精品| 欧美成人r级一区二区三区| 久久精品国产亚洲一区二区三区| 亚洲免费一区二区| 夜色激情一区二区| 激情久久综艺| 欧美日韩精品系列| 欧美精品xxxxbbbb| 欧美日韩精品一区二区| 欧美日韩四区| 日韩图片一区| 欧美一区二区啪啪| 久久精品动漫| 一本色道久久综合| 夜夜嗨av色综合久久久综合网| 亚洲成色精品| 玖玖综合伊人| 99日韩精品| 久久国产欧美精品| 久久久久综合网| 在线精品亚洲一区二区| 亚洲一区在线直播| 欧美一区二区三区在线看| 午夜精品久久久久久99热软件| 亚洲午夜视频在线观看| 麻豆91精品| 亚洲美女在线看| 亚洲欧美激情视频在线观看一区二区三区 | 久久综合色婷婷| 欧美肥婆在线| av成人国产| 欧美91大片| 国产精品自在欧美一区| 在线不卡中文字幕| 欧美在线亚洲一区| 欧美国产在线观看| 亚洲午夜精品在线| 欧美日韩国产麻豆| 国产午夜精品一区二区三区欧美 | 午夜国产不卡在线观看视频| 久久另类ts人妖一区二区| 亚洲第一网站| 久久久青草婷婷精品综合日韩| 欧美激情成人在线视频| 国产精品视频精品| 亚洲一区国产精品| 欧美激情第3页| 亚洲欧美99| 国产精品午夜国产小视频| 亚洲日本欧美日韩高观看| 久久爱www久久做| 亚洲欧美春色| 欧美体内she精视频| 亚洲福利专区| 亚洲二区在线视频| 中文成人激情娱乐网| 欧美日韩视频不卡| 一本不卡影院| 国产亚洲精品aa| 亚洲精品偷拍| 99国产一区| 亚洲乱码国产乱码精品精可以看 | 最近中文字幕mv在线一区二区三区四区| 欧美在线啊v一区| 老司机成人网| 激情欧美国产欧美| 欧美成人精品h版在线观看| 久久久五月天| 欧美日韩美女在线| 欧美成年人视频| 久久成人一区| 国产一区二区中文| 亚洲专区一区| 亚洲精品四区| 国产精品久久婷婷六月丁香| 99这里只有久久精品视频| 欧美国产日韩精品| 欧美交受高潮1| 99在线精品观看| 99精品福利视频| 国产视频一区二区在线观看| 欧美一区二区三区免费看| 亚洲伊人一本大道中文字幕| 韩日午夜在线资源一区二区| 久久综合伊人77777| 一本色道久久88精品综合| 久久精品电影| 好吊色欧美一区二区三区四区| 亚洲电影中文字幕| 欧美久久久久久久| 在线性视频日韩欧美| 香蕉精品999视频一区二区 | 亚洲经典三级| 久久久久久久性| 久久影院午夜片一区| 亚洲三级电影全部在线观看高清| 国产精品99久久久久久人 | 一本大道久久a久久综合婷婷| 欧美日韩亚洲一区二区三区在线| 久久精品91久久久久久再现| 久久精品女人| 99国产精品久久久久久久| 久久成人精品无人区| 亚洲电影av| 性色一区二区| 一区二区三区成人| 欧美在线观看你懂的| 亚洲欧美另类在线观看| 久久精品青青大伊人av| 亚洲综合精品四区| 另类亚洲自拍| 久久久久国产免费免费| 欧美日韩免费观看一区=区三区| 小黄鸭精品aⅴ导航网站入口| 欧美激情女人20p| 久久成人羞羞网站| 国产精品国产三级国产aⅴ浪潮 | 欧美一区二区三区视频免费| 男男成人高潮片免费网站| 美女诱惑一区| 国产精品高清免费在线观看| 国产一区二区日韩精品欧美精品| 亚洲免费高清| 久久精品亚洲精品| 亚洲视频在线观看三级| 久久久久综合一区二区三区| 亚洲综合精品| 欧美精品九九| 男人的天堂亚洲在线| 国产乱码精品一区二区三区五月婷| 欧美国产视频一区二区| 国产亚洲a∨片在线观看| 一区二区av在线| 亚洲人成人一区二区三区| 欧美一级成年大片在线观看| 亚洲午夜精品17c| 欧美国产日韩精品免费观看| 亚洲特级毛片| 亚洲欧美激情诱惑| 一二美女精品欧洲| 欧美日本国产视频| 最新日韩在线视频| 亚洲精品国产拍免费91在线| 亚洲免费在线播放| 99视频+国产日韩欧美| 欧美一区三区二区在线观看| 精品盗摄一区二区三区| 午夜性色一区二区三区免费视频| 亚洲永久网站| 欧美视频免费| 亚洲特色特黄| 午夜精品久久久久久99热软件 | 亚洲综合999| 国产精品乱码一区二三区小蝌蚪 | 日韩视频不卡| 欧美剧在线免费观看网站| 亚洲国产精品传媒在线观看| 亚洲第一毛片| 欧美国产在线视频| 亚洲欧美在线观看| 亚洲成人中文| 久久国产精品99国产精| 亚洲日本无吗高清不卡| 国产精品推荐精品| 欧美大片专区| 欧美在线首页| 一本色道88久久加勒比精品| 美国成人直播| 午夜激情综合网| 亚洲精品欧美在线| 国产偷自视频区视频一区二区| 欧美福利电影在线观看| 亚洲欧美日韩中文视频| 亚洲清纯自拍| 奶水喷射视频一区| 欧美一级专区| 亚洲天堂网在线观看| 亚洲国产精品一区| 国产偷自视频区视频一区二区| 欧美日韩午夜剧场| 欧美韩日视频| 久久久久久久综合日本| 午夜精品久久久久久99热软件| 亚洲精选成人| 亚洲美洲欧洲综合国产一区| 国产色产综合产在线视频|