#include "wx/defs.h"
#endif
-#if (WXDEBUG && USE_MEMORY_TRACING) || USE_DEBUG_CONTEXT
+#if (defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT
#ifdef __GNUG__
// #pragma implementation
#include <stdlib.h>
-#if USE_IOSTREAMH
+#if wxUSE_IOSTREAMH
#include <iostream.h>
+#include <fstream.h>
#else
#include <iostream>
+#include <fstream>
+# ifdef _MSC_VER
+ using namespace std;
+# endif
#endif
-#include <fstream.h>
#if !defined(__WATCOMC__) && !defined(__VMS__)
#include <memory.h>
{
wxObject *obj = (wxObject *)m_actualData;
wxClassInfo *info = obj->GetClassInfo();
-
+/*
if (info && info->GetClassName())
wxTrace("%s", info->GetClassName());
else
if (m_fileName)
wxTrace(" (%s %d)", m_fileName, (int)m_lineNum);
+ wxTrace(" at $%lX, size %d\n", (long)GetActualData(), (int)RequestSize());
+*/
+ // Let's put this in standard form so IDEs can load the file at the appropriate
+ // line
+ if (m_fileName)
+ wxTrace("%s(%d): ", m_fileName, (int)m_lineNum);
+
+ if (info && info->GetClassName())
+ wxTrace("%s", info->GetClassName());
+ else
+ wxTrace("object");
+
wxTrace(" at $%lX, size %d\n", (long)GetActualData(), (int)RequestSize());
}
else
{
- wxTrace("Non-object data");
if (m_fileName)
- wxTrace(" (%s %d)", m_fileName, (int)m_lineNum);
+ wxTrace("%s(%d): ", m_fileName, (int)m_lineNum);
+ wxTrace("non-object data");
wxTrace(" at $%lX, size %d\n", (long)GetActualData(), (int)RequestSize());
}
}
if (m_isObject)
{
wxObject *obj = (wxObject *)m_actualData;
-// wxClassInfo *info = obj->GetClassInfo();
if (m_fileName)
- wxTrace("Item (%s %d)", m_fileName, (int)m_lineNum);
- else
- wxTrace("Item");
+ wxTrace("%s(%d): ", m_fileName, (int)m_lineNum);
- wxTrace(" at $%lX, size %d: ", (long)GetActualData(), (int)RequestSize());
-// wxTrace(info->GetClassName());
obj->Dump(wxDebugContext::GetStream());
+ wxTrace(" at $%lX, size %d", (long)GetActualData(), (int)RequestSize());
wxTrace("\n");
}
else
{
- wxTrace("Non-object data");
if (m_fileName)
- wxTrace(" (%s %d)", m_fileName, (int)m_lineNum);
+ wxTrace("%s(%d): ", m_fileName, (int)m_lineNum);
+ wxTrace("non-object data");
wxTrace(" at $%lX, size %d\n", (long)GetActualData(), (int)RequestSize());
}
}
*/
bool wxDebugContext::PrintList (void)
{
-#if WXDEBUG
+#ifdef __WXDEBUG__
if (!HasStream())
return FALSE;
bool wxDebugContext::Dump(void)
{
-#if WXDEBUG
+#ifdef __WXDEBUG__
if (!HasStream())
return FALSE;
bool wxDebugContext::PrintStatistics(bool detailed)
{
-#if WXDEBUG
+#ifdef __WXDEBUG__
if (!HasStream())
return FALSE;
// We'll only do malloc and free for the moment: leave the interesting
// stuff for the wxObject versions.
-#if WXDEBUG && USE_GLOBAL_MEMORY_OPERATORS
+#if defined(__WXDEBUG__) && wxUSE_GLOBAL_MEMORY_OPERATORS
#ifdef new
#undef new
#endif
}
-#if !( defined (_MSC_VER) && (_MSC_VER <= 1000) )
+#if !( defined (_MSC_VER) && (_MSC_VER <= 1020) )
void * operator new[] (size_t size, char * fileName, int lineNum)
{
#ifdef NO_DEBUG_ALLOCATION
#endif
}
-#if !( defined (_MSC_VER) && (_MSC_VER <= 1000) )
+// VC++ 6.0
+#if _MSC_VER >= 1200
+void operator delete(void* pData, char* /* fileName */, int /* lineNum */)
+{
+ ::operator delete(pData);
+}
+#endif
+
+#if !( defined (_MSC_VER) && (_MSC_VER <= 1020) )
void operator delete[] (void * buf)
{
#ifdef NO_DEBUG_ALLOCATION
#endif
}
-#else // USE_MEMORY_TRACING && WXDEBUG
+#else // wxUSE_MEMORY_TRACING && defined(__WXDEBUG__)
void wxTrace(const char *WXUNUSED(fmt) ...)
{
}