OSDN Git Service

add tstools.
[rec10/rec10-git.git] / tstools / DtsEdit / src / debug.h
diff --git a/tstools/DtsEdit/src/debug.h b/tstools/DtsEdit/src/debug.h
new file mode 100644 (file)
index 0000000..4c76b5c
--- /dev/null
@@ -0,0 +1,98 @@
+\r
+#ifndef _MY_DEBUG_H\r
+#define _MY_DEBUG_H 1\r
+\r
+#include <stdio.h>      /* vsprintf */\r
+#include <windows.h>\r
+\r
+#ifdef _DEBUG\r
+\r
+#ifdef _cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+#define DPRINTF_BUF_SZ  10240\r
+static void SENDSTR(char *cMsg){\r
+       HWND hTgWnd1 = FindWindow("Notepad", "\96³\91è - \83\81\83\82\92 ");\r
+       hTgWnd1 = GetWindow(hTgWnd1, GW_CHILD);\r
+  \r
+       if(hTgWnd1 > 0){\r
+               SendMessage(hTgWnd1, EM_REPLACESEL, NULL, (LPARAM)cMsg);\r
+       }\r
+}\r
+static void DUMP(char *tablename, unsigned char *data, DWORD size){\r
+       char buf1[60]   = {'\0'};\r
+       char *buf2              = (char*)calloc(1, size * 60);\r
+       DWORD i;\r
+\r
+       //sprintf(buf2, "------ DUMP %s ------\r\n", tablename);\r
+       //for (int y=0; y<(size/16); y++){\r
+       //      sprintf(buf1, "%08X: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X\r\n"\r
+       //              , data[y*16 + 0], data[y*16 + 1], data[y*16 + 2], data[y*16 + 3], data[y*16 + 4], data[y*16 + 5], data[y*16 + 6], data[y*16 + 7]\r
+       //              , data[y*16 + 8], data[y*16 + 9], data[y*16 +10], data[y*16 +11], data[y*16 +12], data[y*16 +13], data[y*16 +14], data[y*16 +15]\r
+       //              );\r
+       //      strcat(buf2, buf1);\r
+       //}\r
+\r
+       _snprintf(buf2, size * 60, "------ DUMP %s ------", tablename);\r
+       for (i=0; i<size; i++){\r
+               if ((i % 16) == 0){\r
+                       sprintf(buf1, "\r\n%02X", data[i]);\r
+               }else{\r
+                       sprintf(buf1, " %02X", data[i]);\r
+               }\r
+               strcat(buf2, buf1);\r
+       }\r
+       strcat(buf2, "\r\n\r\n");\r
+       SENDSTR(buf2);\r
+       free(buf2);\r
+}\r
+static void DPRINTLN(char *fmt, ...)\r
+{\r
+       va_list args;\r
+       char *buf1 = (char*)calloc(DPRINTF_BUF_SZ, sizeof(char));\r
+       char *buf2 = (char*)calloc(DPRINTF_BUF_SZ, sizeof(char));\r
+\r
+       va_start(args, fmt);\r
+       _vsnprintf(buf1, DPRINTF_BUF_SZ, fmt, args);\r
+       va_end(args);\r
+       _snprintf(buf2, DPRINTF_BUF_SZ, "[0x%08X]\t%s\r\n" ,GetCurrentThreadId(), buf1);\r
+       //strcat(buf, "\r\n");\r
+       //OutputDebugString(buf);\r
+       //FILE *fp = fopen("_debug.txt", "ab");\r
+       //fwrite(buf, strlen(buf), 1, fp);\r
+       //fclose(fp);\r
+       SENDSTR(buf2);\r
+\r
+       free(buf1);\r
+       free(buf2);\r
+}\r
+static void DPRINTF(char *fmt, ...)\r
+{\r
+       va_list args;\r
+       char *buf1 = (char*)calloc(DPRINTF_BUF_SZ, sizeof(char));\r
+\r
+       va_start(args, fmt);\r
+       _vsnprintf(buf1, DPRINTF_BUF_SZ, fmt, args);\r
+       va_end(args);\r
+\r
+       //OutputDebugString(buf);\r
+       //FILE *fp = fopen("_debug.txt", "ab");\r
+       //fwrite(buf, strlen(buf), 1, fp);\r
+       //fclose(fp);\r
+       SENDSTR(buf1);\r
+\r
+       free(buf1);\r
+}\r
+#else\r
+static __inline void DPRINTLN(char *fmt, ...) { }\r
+static __inline void DPRINTF(char *fmt, ...) { }\r
+static __inline void DUMP(char *tablename, unsigned char* data, unsigned long size){ }\r
+\r
+#ifdef _cplusplus\r
+} //extern "C"\r
+#endif\r
+\r
+#endif //_DEBUG\r
+\r
+#endif //_MY_DEBUG_H
\ No newline at end of file