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

沒畫完的畫

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

SymInitialize 函數

Posted on 2008-08-27 21:16 沒畫完的畫 閱讀(2541) 評論(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>
            亚洲一区自拍| 亚洲欧美激情诱惑| 美日韩在线观看| 亚洲激情视频在线播放| 亚洲国产精品一区二区www| 欧美高清一区二区| 亚洲色图制服丝袜| 欧美影视一区| 亚洲精品在线观看免费| 亚洲亚洲精品三区日韩精品在线视频 | 亚洲欧洲日夜超级视频| 欧美日韩在线免费视频| 久久国产精品一区二区| 免费不卡中文字幕视频| 亚洲天堂男人| 狂野欧美一区| 亚洲欧美一区二区三区极速播放| 久久gogo国模裸体人体| 亚洲第一精品久久忘忧草社区| 亚洲精品综合| 黄色日韩精品| 一本久久综合| 在线观看日韩精品| 亚洲一区久久久| 亚洲精选在线观看| 久久不射网站| 亚洲免费一在线| 免费一级欧美片在线播放| 欧美一区二区日韩一区二区| 欧美成人资源| 久久蜜臀精品av| 国产精品国产a| 最新成人av网站| 伊人色综合久久天天五月婷| 亚洲图片在线观看| 亚洲美女视频网| 噜噜噜91成人网| 久久一区二区三区av| 国产精品久久久久久久久久尿 | 亚洲人成在线观看网站高清| 国产一区二区剧情av在线| 亚洲系列中文字幕| 一个色综合av| 欧美巨乳在线| 亚洲黄色性网站| 亚洲欧洲美洲综合色网| 久久国产精品黑丝| 久久精品国产亚洲一区二区| 国产精品色网| 亚洲视频图片小说| 亚洲一区二区在线观看视频| 欧美日韩国产成人在线观看| 欧美国产日韩免费| 亚洲国产成人精品视频| 久久久久久亚洲综合影院红桃| 久久九九精品| 国产一区二区高清视频| 欧美一区二区日韩一区二区| 欧美一级黄色网| 国产欧美一区二区精品忘忧草| 亚洲一区三区视频在线观看| 亚洲女人小视频在线观看| 国产精品豆花视频| 亚洲免费网址| 久久久www成人免费毛片麻豆| 国产一区二区三区无遮挡| 欧美中文在线观看| 欧美成人a视频| 亚洲精品久久嫩草网站秘色| 欧美乱妇高清无乱码| 在线一区二区三区四区五区| 午夜精品久久久久久久久久久久久| 国产精品久久毛片a| 欧美在线影院在线视频| 免费短视频成人日韩| 亚洲精品视频免费| 国产精品xvideos88| 亚洲免费伊人电影在线观看av| 久久精品综合一区| 亚洲第一在线综合网站| 欧美日韩播放| 欧美亚洲在线播放| 欧美激情亚洲精品| 亚洲欧美日韩天堂| 在线观看日韩av先锋影音电影院| 男女激情视频一区| 亚洲午夜极品| 欧美成人按摩| 亚洲免费人成在线视频观看| 国产一区二区高清视频| 欧美精品粉嫩高潮一区二区 | 久久av红桃一区二区小说| 欧美高清视频在线播放| 亚洲一区观看| 一区二区在线观看视频在线观看| 欧美激情久久久久| 午夜精品久久久久久99热| 欧美成人精品激情在线观看| 亚洲一区尤物| 亚洲激情电影在线| 国产偷久久久精品专区| 欧美日韩mp4| 久久久久综合| 亚洲欧美日韩成人高清在线一区| 欧美国产在线观看| 欧美在线观看视频| 99国内精品| 在线精品视频一区二区| 国产老女人精品毛片久久| 欧美大片国产精品| 久久精品成人| 亚洲欧美一区二区视频| 99精品福利视频| 欧美激情1区2区3区| 久久久久久久久久久成人| 亚洲无吗在线| 亚洲免费精彩视频| 亚洲国产欧洲综合997久久| 国产欧美日韩一区| 欧美视频一区二区三区| 欧美激情免费在线| 久热这里只精品99re8久| 性色av一区二区三区在线观看| 日韩视频免费看| 最新精品在线| 亚洲第一精品福利| 欧美大片在线看| 欧美成人精品在线播放| 久久这里只精品最新地址| 久久久久久久一区二区三区| 久久爱www| 欧美影视一区| 欧美中文字幕久久| 欧美一区二区视频观看视频| 亚洲欧美日韩国产成人精品影院 | 亚洲精品久久久久久久久久久久久 | av不卡在线观看| 一本一本久久a久久精品牛牛影视| 亚洲国产日韩欧美在线99| 亚洲国产精品久久久| 亚洲国产成人一区| 亚洲精品视频二区| 一本久久综合亚洲鲁鲁| 一区二区三区欧美日韩| 亚洲一区国产视频| 欧美一级网站| 久久精品九九| 欧美成人午夜激情| 欧美三级视频在线播放| 国产精品久久久久av免费| 国产精品日韩欧美| 好吊日精品视频| 亚洲欧洲在线看| 亚洲午夜一区二区三区| 午夜视频一区二区| 久久男女视频| 91久久综合亚洲鲁鲁五月天| 这里只有视频精品| 欧美一区二区三区四区在线| 久久久精品午夜少妇| 欧美成人小视频| 欧美系列亚洲系列| 激情五月婷婷综合| 一区二区精品在线| 久久爱另类一区二区小说| 欧美大片在线观看一区二区| av不卡在线| 久久久久国产精品一区三寸| 欧美激情综合色| 国产一区二区三区直播精品电影| 亚洲成色777777女色窝| 亚洲欧美欧美一区二区三区| 久久亚洲精品视频| 亚洲精品一级| 久久国产精品久久精品国产 | 蜜臀久久久99精品久久久久久| 欧美日韩天天操| 亚洲第一二三四五区| 亚洲香蕉网站| 欧美激情视频网站| 午夜精品国产| 欧美日韩三级一区二区| 一区二区三区在线高清| 亚洲自拍偷拍一区| 亚洲国产美女| 久久久久久久性| 国产精品视频你懂的| 日韩亚洲国产精品| 蜜桃精品久久久久久久免费影院| 一本久道综合久久精品| 美女999久久久精品视频| 国产日韩在线看| 亚洲欧美国产日韩天堂区| 91久久久久| 美女日韩在线中文字幕| 狠狠综合久久av一区二区老牛| 亚洲永久在线| 日韩午夜黄色| 欧美日韩久久精品| 亚洲剧情一区二区|