online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
/****************************************************************************** Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl, C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog. Code, Compile, Run and Debug online from anywhere in world. *******************************************************************************/ #include <iostream> using namespace std; inline void* operator new(size_t size) { void* p = ::malloc( size ); fprintf( stderr, "new size %ld: %p\n", size, p ); return p; } inline void* operator new[]( size_t size ) { void* p = ::malloc( size ); fprintf( stderr, "new size[] %ld: %p\n", size, p ); return p; } inline void operator delete(void* p) { fprintf( stderr, "delete: %p\n", p ); ::free(p); } inline void operator delete[](void* p) { fprintf( stderr, "delete []: %p\n", p ); ::free(p); } class A { public: A() : a(NULL) { printf( "A construct\n" ); a = new int[100]; } ~A() { printf( "A destruct \n" ); freeA(); } void freeA() { if ( a ) { delete [] a; a = NULL; } } void release() { delete this; } private: int* a; }; int main() { A * a = new A; a->release(); return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue