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

大熊的口袋

 

vc下格式化輸出調(diào)試診斷信息(TRACE)

最近在將一個(gè)dll工程從一個(gè)大的項(xiàng)目里抽出來,避免依賴其他的亂七八糟的lib和dll,作為一個(gè)獨(dú)立的dll工程。將包含工程文所有主要代碼的文件夾拷出來一編譯,問題一大堆,其中最扎眼的要數(shù)TRACEA()TRACEW()TRACEW1()TRACEW2()這些未定義的宏了。想把原先的宏定義拉過來,卻總覺得這些TRACE1、2之類的實(shí)在是不太雅觀。并且如果依賴原先的實(shí)現(xiàn)可能要要再帶一個(gè)dll(那我抽出來的目的是什么?),遂自己實(shí)現(xiàn)了一個(gè)任意個(gè)參數(shù)的TRACE宏,廢話少說,上代碼:
// --debuginfo.h
#ifndef __DEBUG_INFO_H__
#define __DEBUG_INFO_H__

#ifndef NDEBUG
#define TRACEA ((void)0)
#define TRACEW ((void)0)
#else
VOID _cdecl _traceA(
const char *msgFmt, );
VOID _cdecl _traceW(
const wchar_t *msgFmt, );

#define TRACEA _traceA
#define TRACEW _traceW
#endif

#endif
//--debuginfo.cpp
#include "debuginfo.h"
#include 
<stdlib.h>
#include 
<Windows.h>

#ifndef NDEBUG

__declspec(thread) unsigned retAddrForTraceA 
= 0;
__declspec(thread) 
char tszBuf[512= {0};

__declspec(thread) unsigned retAddrForTraceW 
= 0;
__declspec(thread) wchar_t tswzBuf[
512= {0};


static unsigned *GetAddrOfRetAddrForTraceA()
{
    
return &retAddrForTraceA;
}


static unsigned *GetAddrOfRetAddrForTraceW()
{
    
return &retAddrForTraceW;
}


static char *GetAddrOftszBuf()
{
    
return &tszBuf[0];
}


static wchar_t *GetAddrOftswzBuf()
{
    
return &tswzBuf[0];
}



_declspec(naked) VOID _traceA(
const char *msgFmt, )
{
    __asm 
{
        call GetAddrOfRetAddrForTraceA;
        pop ebx;
        mov [eax], ebx;
        call GetAddrOftszBuf;
        push eax;
        call dword ptr [wsprintfA];
        call dword ptr [OutputDebugStringA];
        call GetAddrOfRetAddrForTraceA;
        push [eax];
        ret;
    }

}


_declspec(naked) VOID _traceW(
const wchar_t *msgFmt, )
{
    __asm 
{
        call GetAddrOfRetAddrForTraceW;
        pop ebx;
        mov [eax], ebx;
        call GetAddrOftswzBuf;
        push eax;
        call dword ptr [wsprintfW];
        call dword ptr [OutputDebugStringW];
        call GetAddrOfRetAddrForTraceW;
        push [eax];
        ret;
    }

}


#endif

這個(gè)trace是線程安全的。避免了自己去分析格式字符串。

終于,工程再編譯一次,結(jié)果安靜多了...

posted on 2009-11-04 16:35 大熊的口袋 閱讀(3153) 評(píng)論(1)  編輯 收藏 引用 所屬分類: cpp

評(píng)論

# re: vc下格式化輸出調(diào)試診斷信息(TRACE) 2009-11-06 11:22 喜樂遞女性購物

吉薩匯商大廈  回復(fù)  更多評(píng)論   

導(dǎo)航

統(tǒng)計(jì)

公告

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

win32 & debug

搜索

積分與排名

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美一区二区精品在线| 日韩亚洲欧美成人| 久久深夜福利免费观看| 韩国福利一区| 欧美国产第一页| 欧美另类视频| 午夜精品亚洲| 久久精品2019中文字幕| 91久久国产精品91久久性色| 亚洲高清成人| 欧美日本国产精品| 性感少妇一区| 久久久久久久久久久一区| 亚洲精品国产精品国自产观看| 欧美激情亚洲一区| 国产精品极品美女粉嫩高清在线 | 亚洲欧美日本另类| 久久疯狂做爰流白浆xx| 亚洲经典视频在线观看| 亚洲视频在线观看三级| 韩国一区二区三区在线观看 | 欧美不卡一卡二卡免费版| 欧美经典一区二区| 久久精品30| 欧美激情久久久久久| 香蕉成人久久| 欧美激情视频在线播放 | 亚洲国产精品悠悠久久琪琪 | 免费一级欧美在线大片| 欧美性jizz18性欧美| 国内精品亚洲| 性欧美1819性猛交| 久久精品免视看| 一区二区欧美国产| 久久免费国产精品| 午夜精品福利一区二区蜜股av| 久久久久久久久一区二区| 亚洲一二三区精品| 欧美成人免费全部| 久久综合亚洲社区| 国产欧美一区二区三区国产幕精品 | 欧美日韩一级大片网址| 免费亚洲网站| 国内精品久久久久久久影视麻豆| 亚洲精品一二区| 亚洲电影在线看| 久久精品国产亚洲精品| 欧美一区三区三区高中清蜜桃| 欧美久久影院| 91久久夜色精品国产网站| 激情综合色综合久久| 欧美亚洲一区二区在线| 亚洲男人的天堂在线| 欧美日韩亚洲视频一区| 亚洲区国产区| 亚洲剧情一区二区| 欧美成人伊人久久综合网| 裸体歌舞表演一区二区| 极品少妇一区二区三区| 欧美一区二区三区在线视频| 亚洲欧美日韩人成在线播放| 欧美日一区二区在线观看| 亚洲日本中文字幕免费在线不卡| 亚洲国产成人午夜在线一区| 久久久xxx| 免费观看在线综合| 亚洲大胆人体视频| 久久最新视频| 亚洲国产专区| 亚洲网站在线| 国产精自产拍久久久久久| 亚洲视频一区在线| 欧美一区二区视频网站| 国内自拍一区| 久久一区二区三区av| 欧美大片免费观看| 亚洲乱码国产乱码精品精| 欧美国产日韩xxxxx| 日韩视频免费观看| 先锋影院在线亚洲| 激情综合在线| 欧美黄色aaaa| 亚洲视频欧美视频| 久久视频在线视频| 亚洲精品在线视频| 国产精品成人一区二区| 欧美亚洲综合网| 亚洲二区精品| 亚洲欧美综合国产精品一区| 国内精品国语自产拍在线观看| 猛男gaygay欧美视频| 日韩亚洲国产精品| 久久久亚洲一区| 一本色道久久综合亚洲91| 欧美国产综合视频| 亚洲美女视频网| 国产精品视频一二三| 欧美激情一区二区久久久| 一区二区三区日韩在线观看| 国产欧美日韩视频在线观看| 欧美a级片网站| 亚洲永久在线观看| 亚洲成人资源网| 欧美亚洲日本国产| 亚洲精品视频一区| 国内精品久久久久国产盗摄免费观看完整版| 久久综合伊人77777蜜臀| 亚洲午夜免费福利视频| 鲁大师成人一区二区三区 | 一区二区在线观看av| 欧美日韩中文另类| 美女视频黄a大片欧美| 亚洲一区久久| 亚洲精品一区二区在线| 久久久青草青青国产亚洲免观| 99国产精品国产精品久久| 国模大胆一区二区三区| 欧美日韩一区二区在线| 久久综合久久综合九色| 欧美在线电影| 亚洲一区亚洲二区| 99v久久综合狠狠综合久久| 欧美国产精品v| 久久伊伊香蕉| 久久国产婷婷国产香蕉| 亚洲一区三区电影在线观看| 亚洲精品久久久久久久久久久久久 | 亚洲精品视频免费| 精品不卡一区二区三区| 国产色爱av资源综合区| 国产精品天天看| 欧美成在线观看| 美日韩精品免费观看视频| 久久国产婷婷国产香蕉| 久久不射2019中文字幕| 香蕉久久精品日日躁夜夜躁| 亚洲一区在线免费观看| 亚洲一区制服诱惑| 亚洲网站视频福利| 亚洲视频免费看| 亚洲午夜一二三区视频| 亚洲一二区在线| 亚洲免费一在线| 午夜久久久久久久久久一区二区| 亚洲一区久久久| 欧美一区二区| 久久久7777| 欧美mv日韩mv国产网站app| 母乳一区在线观看| 最新精品在线| 中文日韩电影网站| 亚洲欧美日韩爽爽影院| 欧美一级视频免费在线观看| 久久激情五月婷婷| 久热国产精品| 欧美日韩 国产精品| 欧美午夜无遮挡| 国产免费观看久久黄| 亚洲综合色激情五月| 亚洲嫩草精品久久| 久久精品人人做人人综合| 久久人人超碰| 欧美日本精品一区二区三区| 国产精品va在线| 伊人成年综合电影网| 91久久精品日日躁夜夜躁国产| 99国产精品视频免费观看| 亚洲综合国产激情另类一区| 久久精品成人一区二区三区 | 欧美视频一区二区三区四区| 国产毛片一区| 亚洲福利视频网| 一区二区三区免费观看| 久久国产精品电影| 亚洲国产成人精品久久久国产成人一区 | 亚洲福利视频二区| 亚洲字幕一区二区| 美女主播精品视频一二三四| 欧美日韩色婷婷| 影音先锋日韩精品| 中文av字幕一区| 米奇777在线欧美播放| 日韩视频在线一区二区三区| 欧美在线免费| 国产精品白丝黑袜喷水久久久| 激情av一区二区| 亚洲欧美综合精品久久成人| 欧美高清视频一区| 性久久久久久久| 欧美日韩精品是欧美日韩精品| 国产一区二区电影在线观看| av不卡在线| 欧美不卡高清| 欧美在线日韩| 国产精品色婷婷久久58| 在线中文字幕一区| 亚洲成色www久久网站| 欧美自拍丝袜亚洲| 国产精品一区免费观看| 中文精品在线|