最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

如何利用Debugview方式來(lái)調(diào)試MySQLUDF_MySQL

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 17:22:26
文檔

如何利用Debugview方式來(lái)調(diào)試MySQLUDF_MySQL

如何利用Debugview方式來(lái)調(diào)試MySQLUDF_MySQL: MySQL的UDF實(shí)質(zhì)就是一個(gè)不需要設(shè)置入口點(diǎn)的動(dòng)態(tài)連接庫(kù)(*Nix稱之為共享庫(kù))。對(duì)于DLL的調(diào)試可謂個(gè)人有個(gè)法?,F(xiàn)在我介紹一下一個(gè)非常簡(jiǎn)單的易用的調(diào)試方法。這一方法直接利用Windows API,語(yǔ)言無(wú)關(guān)、開發(fā)工具無(wú)關(guān)、項(xiàng)目類型無(wú)關(guān),典型的三無(wú)調(diào)試方法。并且,
推薦度:
導(dǎo)讀如何利用Debugview方式來(lái)調(diào)試MySQLUDF_MySQL: MySQL的UDF實(shí)質(zhì)就是一個(gè)不需要設(shè)置入口點(diǎn)的動(dòng)態(tài)連接庫(kù)(*Nix稱之為共享庫(kù))。對(duì)于DLL的調(diào)試可謂個(gè)人有個(gè)法。現(xiàn)在我介紹一下一個(gè)非常簡(jiǎn)單的易用的調(diào)試方法。這一方法直接利用Windows API,語(yǔ)言無(wú)關(guān)、開發(fā)工具無(wú)關(guān)、項(xiàng)目類型無(wú)關(guān),典型的三無(wú)調(diào)試方法。并且,

MySQL的UDF實(shí)質(zhì)就是一個(gè)不需要設(shè)置入口點(diǎn)的動(dòng)態(tài)連接庫(kù)(*Nix稱之為共享庫(kù))。對(duì)于DLL的調(diào)試可謂個(gè)人有個(gè)法。現(xiàn)在我介紹一下一個(gè)非常簡(jiǎn)單的易用的調(diào)試方法。這一方法直接利用Windows API,語(yǔ)言無(wú)關(guān)、開發(fā)工具無(wú)關(guān)、項(xiàng)目類型無(wú)關(guān),典型的三無(wú)調(diào)試方法。并且,我們從這里討論的調(diào)試方法支持遠(yuǎn)程調(diào)試,對(duì)于一時(shí)無(wú)法掌握開發(fā)工具原本調(diào)試器而又急于尋找程序錯(cuò)誤的朋友此方法非常實(shí)用!

首先我們需要下載接收端,當(dāng)然有心人也可以自己寫一個(gè)。

透過debugview手冊(cè)我們可以知道這個(gè)工具支持win9x/nt系列,并且支持內(nèi)核調(diào)試!由于其調(diào)用的API均只能接收一個(gè)char * 類型參數(shù),所以有些時(shí)候我們需要利用其他的函數(shù)有機(jī)組合產(chǎn)生人性可讀提示。

1、簡(jiǎn)單輸出一行信息,在調(diào)試開始時(shí)輸出一條簡(jiǎn)單的信息便于我們了解debug到什么地方了。

在程序代碼中根據(jù)需要加入下邊一行:

OutputDebugStringA("--UDF:my_name()被調(diào)用");

這樣一來(lái)我就知道我定義的my_name被客戶用到了,接著我要關(guān)心返回值如何。

2、輸出返回值。

輸出返回值方法很多,可以自由組合。自由組合的最終目的是將一個(gè)有效的 char * 類型參數(shù)傳遞給WiNDOWS API。這里簡(jiǎn)單的以C語(yǔ)言字符控制函數(shù)為例。

例子:

#include /* 函數(shù)- sprintf */ 
#include  /* 掛接windows api */ 
/* ...........省略 */ 
char* __stdcall my_name(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error) 
{ 
OutputDebugStringA("--UDF:my_name()被調(diào)用"); /* 調(diào)用了?*/ 
char *me = "my name"; 
/*---- debuger start----*/ 
char debugermsg[256]={0}; 
sprintf(debugermsg, "%s", me); 
OutputDebugStringA(debugermsg); 
/*---- debuger end----*/ 
 return me; 
}

當(dāng)在程序中加入了類似代碼那么調(diào)試就可以開始了,利用這種方式即便不使用“debuger”方式編譯仍然可以得到所需的調(diào)試信息。

接收調(diào)試信息

接收調(diào)試信息只要打開debugview程序即可,程序主窗口可以實(shí)時(shí)返回所需要的調(diào)試信息。

其它平臺(tái)請(qǐng)自行查閱手冊(cè)獲得對(duì)應(yīng)的api,利用這種方式調(diào)試方法適當(dāng)并不會(huì)造成任何困擾。

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

如何利用Debugview方式來(lái)調(diào)試MySQLUDF_MySQL

如何利用Debugview方式來(lái)調(diào)試MySQLUDF_MySQL: MySQL的UDF實(shí)質(zhì)就是一個(gè)不需要設(shè)置入口點(diǎn)的動(dòng)態(tài)連接庫(kù)(*Nix稱之為共享庫(kù))。對(duì)于DLL的調(diào)試可謂個(gè)人有個(gè)法?,F(xiàn)在我介紹一下一個(gè)非常簡(jiǎn)單的易用的調(diào)試方法。這一方法直接利用Windows API,語(yǔ)言無(wú)關(guān)、開發(fā)工具無(wú)關(guān)、項(xiàng)目類型無(wú)關(guān),典型的三無(wú)調(diào)試方法。并且,
推薦度:
標(biāo)簽: 信息 利用 方法
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top