① 用哪個頭文件才能用TRACE()啊
#include<afx.h>
你可以把這個文頭件打開,查找一下trace這個字元串,你就知道答案了
② "atltrace.h"No such file or directory如何解決
#include <atlbase.h>
!下面大家還是跟著我們5636網吧聯盟的網吧系統欄目一起去看看吧!
Linux系統下的Mtrace工具主要能夠檢測一些內存分配和泄漏的失敗等。使用Mtrace來調試程序有4個基本步驟,還需要用到GNUC函數庫裡面的一些輔助的函數功能:
1.需要包含頭文件,並且在main()函數的最開始包含一個函數調用:mtrace()。由於在main函數的最開頭調用了mtrace(),所以這個進程後面的一切分配和釋放內存的操作都可以由mtrace來跟蹤和分析。
2.定義一個環境變數,用來指示一個文件。該文件用來輸出log信息。如:
$exportMALLOC_TRACE=mymemory.log
3.正常運行程序。此時程序中的關於內存分配和釋放的操作都可以記錄下來。
4.然後用mtrace使用工具來分析log文件。如:
$mtracetestmem$MALLOC_TRACE
這里需要注意的是在很多嵌入式的環境中,並不提供export命令,也沒有記錄環境變數的文件。唯一的辦法就是把環境變數加到應用程序中。在Glibc庫中有putenv函數,就是寫入環境變數的。
這個其實還是要看Glibc!調用muntrace函數,log文件就生成了。
④ 如何向跟蹤消息中添加前綴和後綴
配置塊將數據添加到跟蹤消息。
WPP 配置塊由你放在源代碼中的
begin_wpp config和end_wpp語句進行定義。
//begin_wpp config
configuration block
//end_wpp如果你將配置數據放在頭文件中,請在項目屬性中指定頭文件的名稱(用於WPP 跟蹤)。在屬性頁上的「文件選項」
下,指定「掃描配置文件」
。 有關詳細信息,請參閱
WPP 預處理器。
配置塊語法//USEPREFIX (
Function_Name
, "Format string");定義要在記錄事件時使用的格式字元串前綴。第一個參數是此前綴應用到的函數的名稱。第二個參數是要使用的格式字元串。要使用默認值,請指定 %!STDPREFIX!。默認跟蹤消息前綴指定 CPU 數、進程 ID、線程 ID、以協調世界時 (UTC) 表示的時間戳及控制 GUID 友好名稱。
//USEPREFIX (TRACE_RETURN, "%!STDPREFIX!");//FUNCFunction_Name{args}(EXP);定義跟蹤函數的名稱和簽名。大括弧{ }用於定義函數的設置值。在以下示例中,函數採用一個參數,無格式字元串,並且將 LEVEL 設置為 ERROR。
//FUNC TRACE_RETURN{LEVEL=ERROR}(EXP);
//USESUFFIX (
Function_Name
, "Format string");定義要在記錄事件時使用的格式字元串後綴。第一個參數是此後綴應用到的函數的名稱。第二個參數是要使用的格式字元串。你可以使用你的代碼中的變數名稱。
//USESUFFIX (TRACE_RETURN, "Function Return=%!HRESULT!",EXP);示例配置塊
以下示例定義使用格式字元串前綴和後綴的跟蹤宏。如果你要定義跟蹤宏,你還必須定義用於選擇記錄程序及檢查是否應記錄事件的宏。
//MACRO: TRACE_RETURN////begin_wpp config
//USEPREFIX (TRACE_RETURN, "%!STDPREFIX!");
//FUNC TRACE_RETURN{LEVEL=ERROR}(EXP);
//USESUFFIX (TRACE_RETURN, "Function Return=%!HRESULT!",EXP);//end_wpp//// The next two macros are for checking if the event should be logged, and for
// choosing the logger handle to use when calling the ETW trace API//#define WPP_LEVEL_EXP_ENABLED(LEVEL, HR) WPP_FLAG_ENABLED(LEVEL)
#define WPP_LEVEL_EXP_LOGGER(LEVEL, HR) WPP_FLAG_LOGGER(LEVEL)示例跟蹤結果
⑤ linux C語言的頭文件對應Windows下的頭文件是哪些
linux和windows平台下,能夠對應的頭文件就是符合C11標準的頭文件。其他的頭文件不僅和平台有關系,還和平台下的編譯環境有關,很難畫上等號的。
C語言符合標準的頭文件.
#include <assert.h> //設定插入點
#include <ctype.h> //字元處理
#include <errno.h> //定義錯誤碼
#include <float.h> //浮點數處理
#include <fstream.h> //文件輸入/輸出
#include <iomanip.h> //參數化輸入/輸出
#include <iostream.h> //數據流輸入/輸出
#include <limits.h> //定義各種數據類型最值常量
#include <locale.h> //定義本地化函數
#include <math.h> //定義數學函數
#include <stdio.h> //定義輸入/輸出函數
#include <stdlib.h> //定義雜項函數及內存分配函數
#include <string.h> //字元串處理
#include <strstrea.h> //基於數組的輸入/輸出
#include <time.h> //定義關於時間的函數
#include <wchar.h> //寬字元處理及輸入/輸出
#include <wctype.h> //寬字元分類
linux常用頭文件如下:
POSIX標準定義的頭文件
<dirent.h> 目錄項
<fcntl.h> 文件控制
<fnmatch.h> 文件名匹配類型
<glob.h> 路徑名模式匹配類型
<grp.h> 組文件
<netdb.h> 網路資料庫操作
<pwd.h> 口令文件
<regex.h> 正則表達式
<tar.h> TAR歸檔值
<termios.h> 終端I/O
<unistd.h> 符號常量
<utime.h> 文件時間
<wordexp.h> 字元擴展類型
-------------------------
<arpa/inet.h> INTERNET定義
<net/if.h> 套接字本地介面
<netinet/in.h> INTERNET地址族
<netinet/tcp.h> 傳輸控制協議定義
-------------------------
<sys/mman.h> 內存管理聲明
<sys/select.h> Select函數
<sys/socket.h> 套接字借口
<sys/stat.h> 文件狀態
<sys/times.h> 進程時間
<sys/types.h> 基本系統數據類型
<sys/un.h> UNIX域套接字定義
<sys/utsname.h> 系統名
<sys/wait.h> 進程式控制制
------------------------------
POSIX定義的XSI擴展頭文件
<cpio.h> cpio歸檔值
<dlfcn.h> 動態鏈接
<fmtmsg.h> 消息顯示結構
<ftw.h> 文件樹漫遊
<iconv.h> 代碼集轉換使用程序
<langinfo.h> 語言信息常量
<libgen.h> 模式匹配函數定義
<monetary.h> 貨幣類型
<ndbm.h> 資料庫操作
<nl_types.h> 消息類別
<poll.h> 輪詢函數
<search.h> 搜索表
<strings.h> 字元串操作
<syslog.h> 系統出錯日誌記錄
<ucontext.h> 用戶上下文
<ulimit.h> 用戶限制
<utmpx.h> 用戶帳戶資料庫
-----------------------------
<sys/ipc.h> IPC(命名管道)
<sys/msg.h> 消息隊列
<sys/resource.h>資源操作
<sys/sem.h> 信號量
<sys/shm.h> 共享存儲
<sys/statvfs.h> 文件系統信息
<sys/time.h> 時間類型
<sys/timeb.h> 附加的日期和時間定義
<sys/uio.h> 矢量I/O操作
------------------------------
POSIX定義的可選頭文件
<aio.h> 非同步I/O
<mqueue.h> 消息隊列
<pthread.h> 線程
<sched.h> 執行調度
<semaphore.h> 信號量
<spawn.h> 實時spawn介面
<stropts.h> XSI STREAMS介面
<trace.h> 事件跟蹤
⑥ 求一個VC++6.0的ATLTRACE.H頭文件
我的VC6.0里也找不到。不知道是因為VC太落後了還是因為我用的VC是被精簡過的。
我試著從VS2017把atl的include和lib復制到VC6.0里,雖然能找到頭文件了,卻還是一大堆錯誤,根本無法編譯。
用VS2017吧,有community版本,官方發布的免費版本,注冊個微軟賬號登陸一次就能用了。
⑦ 請教EnableTrace函數 在哪個頭文件
#include <afx.h>
2.project-> setting,選中use MFC in a shared DLL;
3.project-> setting-> c/c++,category中選code generation,然後在use run-time library中選debug multithreaded dll
⑧ TRACE宏需要在哪個頭文件中聲明
1.#include <afx.h>
2.project-> setting,選中use MFC in a shared DLL;
3.project-> setting-> c/c++,category中選code generation,然後在內容use run-time library中選debug multithreaded dll
⑨ C語言中使用TRACE需要哪個頭文件
試試stdlib.h
這個好像是VC的吧?
調試版本的時候有用,發布版無用。
⑩ C++調試TRACE宏的使用
#include <afx.h> TRACE 是 MFC的調試函數, Win32 可以用OutputDebugString來調試。