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

沒畫完的畫

喂馬 劈柴 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>
            亚洲女爱视频在线| 亚洲一区免费| 欧美韩日一区| 欧美顶级大胆免费视频| 99riav国产精品| 亚洲制服欧美中文字幕中文字幕| 国产精品国产三级国产a| 欧美在线播放一区| 玖玖玖国产精品| 一区二区国产日产| 午夜视频在线观看一区| **欧美日韩vr在线| 99视频一区| 国产专区综合网| 91久久精品日日躁夜夜躁欧美| 欧美色一级片| 狂野欧美激情性xxxx欧美| 欧美精品999| 久久精品免费| 欧美三级小说| 免费在线亚洲| 国产精品美女久久久| 欧美顶级少妇做爰| 国产精品久久久久久久久久免费 | 亚洲电影天堂av| 国产精品播放| 欧美大色视频| 国产色综合久久| 亚洲精品中文字幕女同| 好吊妞这里只有精品| 一区二区三区国产精品| 亚洲国产成人久久综合| 午夜在线视频一区二区区别 | 国产欧美一区在线| 亚洲欧洲综合| 在线观看亚洲精品| 亚洲欧美日本视频在线观看| 亚洲精品乱码久久久久久按摩观| 欧美在线视频在线播放完整版免费观看| 亚洲欧洲美洲综合色网| 久久精品国产综合| 欧美在线免费播放| 欧美午夜一区二区| 亚洲国产清纯| 亚洲国产99| 久久久久久综合| 久久久久91| 国产精品人成在线观看免费| 亚洲精选一区二区| 日韩午夜激情电影| 欧美成年人视频| 欧美电影资源| 亚洲日本va午夜在线影院| 久久久久久97三级| 久久久久国色av免费观看性色| 午夜精品久久久久久久99水蜜桃| 欧美激情中文字幕乱码免费| 欧美大尺度在线| 伊人久久av导航| 久久精品视频一| 免费在线国产精品| 在线观看欧美亚洲| 久久综合伊人77777蜜臀| 麻豆精品网站| 亚洲日本在线观看| 欧美国产精品v| 亚洲精品社区| 亚洲欧美经典视频| 国产欧美日韩一区二区三区| 午夜精品成人在线| 久久先锋影音| 亚洲人成人一区二区三区| 免费中文字幕日韩欧美| 亚洲精品免费在线播放| 亚洲一区二区四区| 国产噜噜噜噜噜久久久久久久久 | 午夜精品电影| 久久亚洲私人国产精品va| 亚洲第一福利在线观看| 欧美韩日高清| 亚洲一区二区伦理| 久久青草久久| 99这里有精品| 国产视频丨精品|在线观看| 久久精品一区四区| 91久久黄色| 欧美在线精品一区| 亚洲国产精品一区在线观看不卡| 欧美日韩高清在线| 午夜精品影院在线观看| 欧美成人三级在线| 亚洲一区欧美一区| 黄色成人av网站| 欧美日韩免费一区| 欧美在线地址| 99综合精品| 美日韩丰满少妇在线观看| av成人激情| 国产综合欧美在线看| 欧美精品一二三| 欧美在线免费观看亚洲| 亚洲人成绝费网站色www| 欧美在线观看一区二区| 亚洲精品一二区| 国内精品免费午夜毛片| 欧美日韩一区二区三区四区五区| 久久国内精品自在自线400部| 亚洲精品在线三区| 欧美aaaaaaaa牛牛影院| 性做久久久久久久久| 一本久久a久久精品亚洲| 国产一区视频在线观看免费| 欧美日韩一区二区三区在线观看免| 久久精品国产精品亚洲综合| 亚洲午夜在线观看| 亚洲欧洲精品成人久久奇米网| 久久久国产一区二区| 亚洲欧美电影院| 一本色道久久综合亚洲91| 在线精品视频免费观看| 国产日韩高清一区二区三区在线| 欧美日韩国产a| 欧美二区在线| 久久躁狠狠躁夜夜爽| 欧美亚洲专区| 午夜精品999| 亚洲一区亚洲二区| 一区二区免费在线观看| 日韩视频在线永久播放| 亚洲高清自拍| 欧美激情第五页| 欧美国产日本在线| 免费不卡亚洲欧美| 老司机一区二区| 麻豆免费精品视频| 久久久久女教师免费一区| 欧美一区二视频在线免费观看| 亚洲欧美日韩一区二区三区在线观看 | 欧美1区2区视频| 久久中文久久字幕| 久久一本综合频道| 麻豆精品传媒视频| 欧美成人在线免费视频| 欧美激情视频一区二区三区免费| 欧美成人69av| 亚洲欧洲日产国码二区| 亚洲精品小视频在线观看| 亚洲精品中文字| 国产精品99久久久久久宅男| 亚洲一二三区视频在线观看| 亚洲一区二区三| 欧美亚洲一区二区在线观看| 久久精品国产96久久久香蕉| 久久久7777| 欧美国产视频日韩| 欧美性做爰毛片| 国产午夜精品一区二区三区视频 | 欧美大片在线看免费观看| 欧美日韩ab| 国产精品羞羞答答xxdd| 韩日在线一区| 亚洲精品偷拍| 午夜精品久久久久久久白皮肤| 久久精品官网| 亚洲国产一区二区三区在线播| 在线亚洲一区观看| 久久狠狠一本精品综合网| 欧美成人国产一区二区| 国产精品一卡| 亚洲国产99| 午夜精品久久久久久久久久久久久 | 午夜精品美女自拍福到在线| 久久九九国产精品| 亚洲国产另类 国产精品国产免费| 一本一本久久a久久精品综合妖精| 翔田千里一区二区| 欧美高清日韩| 国产一区二三区| 99精品国产在热久久婷婷| 久久成人精品电影| 亚洲国产1区| 欧美一区二区三区四区视频| 欧美成人午夜77777| 国产亚洲激情在线| 一本一本久久a久久精品牛牛影视| 久久精品免费电影| 99视频精品免费观看| 麻豆成人在线观看| 国产精品欧美日韩一区二区| 91久久精品国产91性色| 久久福利影视| 一区二区三区四区五区精品| 欧美99久久| 好吊妞**欧美| 久久精品一区二区三区中文字幕 | 一本久久综合亚洲鲁鲁五月天| 麻豆成人在线播放| 国模精品娜娜一二三区| 午夜精品福利一区二区三区av | 欧美在线综合视频|