UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MemPro.h File Reference
#include <stdlib.h>

Go to the source code of this file.

Namespaces

namespace  MemPro
 
namespace  MemPro::Platform
 
namespace  MemPro::GenericPlatform
 

Macros

#define MEMPRO_ENABLED   1
 
#define MEMPRO_PLATFORM_UNIX
 
#define WAIT_FOR_CONNECT   false
 
#define MEMPRO_TRACK_ALLOC(p, size)   MemPro::TrackAlloc(p, size, WAIT_FOR_CONNECT)
 
#define MEMPRO_TRACK_FREE(p)   MemPro::TrackFree(p, WAIT_FOR_CONNECT)
 
#define MEMPRO_INIT_DELAY   100
 
#define MEMPRO_CONNECT_TIMEOUT   500
 
#define MEMPRO_ASSERT(b)   if(!(b)) Platform::DebugBreak()
 
#define MEMPRO_UNIX_BASED_PLATFORM
 
#define MEMPRO_INTERLOCKED_ALIGN
 
#define MEMPRO_INSTRUCTION_BARRIER
 
#define MEMPRO_PUSH_WARNING_DISABLE
 
#define MEMPRO_DISABLE_WARNING(w)
 
#define MEMPRO_POP_WARNING_DISABLE
 
#define MEMPRO_FORCEINLINE   inline
 
#define ENUMERATE_ALL_MODULES
 
#define THREAD_LOCAL_STORAGE   __thread
 
#define MEMPRO_PORT   "27016"
 
#define STACK_TRACE_SIZE   128
 
#define MEMPRO_ALIGN_SUFFIX(n)   __attribute__ ((aligned(n)))
 

Typedefs

typedef long long MemPro::int64
 
typedef unsigned long long MemPro::uint64
 
typedef int(* MemPro::ThreadMain) (void *)
 
typedef void(* MemPro::SendPageStateFunction) (void *, size_t, PageState, PageType, unsigned int, bool, int, void *)
 
typedef void(* MemPro::EnumerateLoadedModulesCallbackFunction) (int64, const char *, void *)
 

Enumerations

enum  MemPro::PageState { MemPro::Invalid = -1 , MemPro::Free , MemPro::Reserved , MemPro::Committed }
 
enum  MemPro::PageType { MemPro::page_Unknown = -1 , MemPro::page_Image , MemPro::page_Mapped , MemPro::page_Private }
 
enum  MemPro::EPlatform { MemPro::Platform_Windows , MemPro::Platform_Unix , MemPro::Platform_PS4 }
 

Functions

void MemPro::Initialise (bool wait_for_connect=false)
 
void MemPro::Disconnect ()
 
void MemPro::Shutdown ()
 
void MemPro::TrackAlloc (void *p, size_t size, bool wait_for_connect=false)
 
void MemPro::TrackFree (void *p, bool wait_for_connect=false)
 
bool MemPro::IsPaused ()
 
void MemPro::SetPaused (bool paused)
 
void MemPro::TakeSnapshot (bool send_memory=false)
 
void MemPro::FlushDumpFile ()
 
void MemPro::IncRef ()
 
void MemPro::DecRef ()
 
void MemPro::Platform::CreateLock (void *p_os_lock_mem, int os_lock_mem_size)
 
void MemPro::Platform::DestroyLock (void *p_os_lock_mem)
 
void MemPro::Platform::TakeLock (void *p_os_lock_mem)
 
void MemPro::Platform::ReleaseLock (void *p_os_lock_mem)
 
void MemPro::Platform::UninitialiseSockets ()
 
void MemPro::Platform::CreateSocket (void *p_os_socket_mem, int os_socket_mem_size)
 
bool MemPro::Platform::IsValidSocket (const void *p_os_socket_mem)
 
void MemPro::Platform::Disconnect (void *p_os_socket_mem)
 
bool MemPro::Platform::StartListening (void *p_os_socket_mem)
 
bool MemPro::Platform::BindSocket (void *p_os_socket_mem, const char *p_port)
 
bool MemPro::Platform::AcceptSocket (void *p_os_socket_mem, void *p_client_os_socket_mem)
 
bool MemPro::Platform::SocketSend (void *p_os_socket_mem, void *p_buffer, int size)
 
int MemPro::Platform::SocketReceive (void *p_os_socket_mem, void *p_buffer, int size)
 
void MemPro::Platform::MemProCreateEvent (void *p_os_event_mem, int os_event_mem_size, bool initial_state, bool auto_reset)
 
void MemPro::Platform::DestroyEvent (void *p_os_event_mem)
 
void MemPro::Platform::SetEvent (void *p_os_event_mem)
 
void MemPro::Platform::ResetEvent (void *p_os_event_mem)
 
int MemPro::Platform::WaitEvent (void *p_os_event_mem, int timeout)
 
void MemPro::Platform::CreateThread (void *p_os_thread_mem, int os_thread_mem_size)
 
void MemPro::Platform::DestroyThread (void *p_os_thread_mem)
 
int MemPro::Platform::StartThread (void *p_os_thread_mem, ThreadMain p_thread_main, void *p_param)
 
bool MemPro::Platform::IsThreadAlive (const void *p_os_thread_mem)
 
int64 MemPro::Platform::MemProInterlockedCompareExchange (int64 volatile *dest, int64 exchange, int64 comperand)
 
int64 MemPro::Platform::MemProInterlockedExchangeAdd (int64 volatile *Addend, int64 Value)
 
void MemPro::Platform::SwapEndian (unsigned int &value)
 
void MemPro::Platform::SwapEndian (uint64 &value)
 
void MemPro::Platform::DebugBreak ()
 
voidMemPro::Platform::Alloc (int size)
 
void MemPro::Platform::Free (void *p, int size)
 
int64 MemPro::Platform::GetHiResTimer ()
 
int64 MemPro::Platform::GetHiResTimerFrequency ()
 
void MemPro::Platform::SetThreadName (unsigned int thread_id, const char *p_name)
 
void MemPro::Platform::Sleep (int ms)
 
void MemPro::Platform::GetStackTrace (void **stack, int &stack_size, unsigned int &hash)
 
void MemPro::Platform::SendPageState (bool send_memory, SendPageStateFunction send_page_state_function, void *p_context)
 
void MemPro::Platform::GetVirtualMemStats (size_t &reserved, size_t &committed)
 
bool MemPro::Platform::GetExtraModuleInfo (int64 ModuleBase, int &age, void *p_guid, int guid_size, char *p_pdb_filename, int pdb_filename_size)
 
void MemPro::Platform::MemProEnumerateLoadedModules (EnumerateLoadedModulesCallbackFunction p_callback_function, void *p_context)
 
void MemPro::Platform::DebugWrite (const char *p_message)
 
void MemPro::Platform::MemProMemoryBarrier ()
 
EPlatform MemPro::Platform::GetPlatform ()
 
int MemPro::Platform::GetStackTraceSize ()
 
void MemPro::Platform::MemCpy (void *p_dest, int dest_size, const void *p_source, int source_size)
 
void MemPro::Platform::SPrintF (char *p_dest, int dest_size, const char *p_format, const char *p_str)
 
void MemPro::Platform::MemProCreateFile (void *p_os_file_mem, int os_file_mem_size)
 
void MemPro::Platform::DestroyFile (void *p_os_file_mem)
 
bool MemPro::Platform::OpenFileForWrite (void *p_os_file_mem, const char *p_filename)
 
void MemPro::Platform::CloseFile (void *p_os_file_mem)
 
void MemPro::Platform::FlushFile (void *p_os_file_mem)
 
bool MemPro::Platform::WriteFile (void *p_os_file_mem, const void *p_data, int size)
 
void MemPro::GenericPlatform::CreateLock (void *p_os_lock_mem, int os_lock_mem_size)
 
void MemPro::GenericPlatform::DestroyLock (void *p_os_lock_mem)
 
void MemPro::GenericPlatform::TakeLock (void *p_os_lock_mem)
 
void MemPro::GenericPlatform::ReleaseLock (void *p_os_lock_mem)
 
bool MemPro::GenericPlatform::InitialiseSockets ()
 
void MemPro::GenericPlatform::UninitialiseSockets ()
 
void MemPro::GenericPlatform::CreateSocket (void *p_os_socket_mem, int os_socket_mem_size)
 
bool MemPro::GenericPlatform::IsValidSocket (const void *p_os_socket_mem)
 
void MemPro::GenericPlatform::Disconnect (void *p_os_socket_mem)
 
bool MemPro::GenericPlatform::StartListening (void *p_os_socket_mem)
 
bool MemPro::GenericPlatform::BindSocket (void *p_os_socket_mem, const char *p_port)
 
bool MemPro::GenericPlatform::AcceptSocket (void *p_os_socket_mem, void *p_client_os_socket_mem)
 
bool MemPro::GenericPlatform::SocketSend (void *p_os_socket_mem, void *p_buffer, int size)
 
int MemPro::GenericPlatform::SocketReceive (void *p_os_socket_mem, void *p_buffer, int size)
 
void MemPro::GenericPlatform::MemProCreateEvent (void *p_os_event_mem, int os_event_mem_size, bool initial_state, bool auto_reset)
 
void MemPro::GenericPlatform::DestroyEvent (void *p_os_event_mem)
 
void MemPro::GenericPlatform::SetEvent (void *p_os_event_mem)
 
void MemPro::GenericPlatform::ResetEvent (void *p_os_event_mem)
 
int MemPro::GenericPlatform::WaitEvent (void *p_os_event_mem, int timeout)
 
void MemPro::GenericPlatform::CreateThread (void *p_os_thread_mem, int os_thread_mem_size)
 
void MemPro::GenericPlatform::DestroyThread (void *p_os_thread_mem)
 
int MemPro::GenericPlatform::StartThread (void *p_os_thread_mem, ThreadMain p_thread_main, void *p_param)
 
bool MemPro::GenericPlatform::IsThreadAlive (const void *p_os_thread_mem)
 
int64 MemPro::GenericPlatform::MemProInterlockedCompareExchange (int64 volatile *dest, int64 exchange, int64 comperand)
 
int64 MemPro::GenericPlatform::MemProInterlockedExchangeAdd (int64 volatile *Addend, int64 Value)
 
void MemPro::GenericPlatform::SwapEndian (unsigned int &value)
 
void MemPro::GenericPlatform::SwapEndian (uint64 &value)
 
void MemPro::GenericPlatform::DebugBreak ()
 
voidMemPro::GenericPlatform::Alloc (int size)
 
void MemPro::GenericPlatform::Free (void *p, int size)
 
void MemPro::GenericPlatform::SetThreadName (unsigned int thread_id, const char *p_name)
 
void MemPro::GenericPlatform::Sleep (int ms)
 
void MemPro::GenericPlatform::SendPageState (bool send_memory, SendPageStateFunction send_page_state_function, void *p_context)
 
void MemPro::GenericPlatform::GetVirtualMemStats (size_t &reserved, size_t &committed)
 
bool MemPro::GenericPlatform::GetExtraModuleInfo (int64 ModuleBase, int &age, void *p_guid, int guid_size, char *p_pdb_filename, int pdb_filename_size)
 
void MemPro::GenericPlatform::MemProEnumerateLoadedModules (EnumerateLoadedModulesCallbackFunction p_callback_function, void *p_context)
 
void MemPro::GenericPlatform::DebugWrite (const char *p_message)
 
void MemPro::GenericPlatform::MemCpy (void *p_dest, int dest_size, const void *p_source, int source_size)
 
void MemPro::GenericPlatform::SPrintF (char *p_dest, int dest_size, const char *p_format, const char *p_str)
 
void MemPro::GenericPlatform::MemProCreateFile (void *p_os_file_mem, int os_file_mem_size)
 
void MemPro::GenericPlatform::DestroyFile (void *p_os_file_mem)
 
bool MemPro::GenericPlatform::OpenFileForWrite (void *p_os_file_mem, const char *p_filename)
 
void MemPro::GenericPlatform::CloseFile (void *p_os_file_mem)
 
void MemPro::GenericPlatform::FlushFile (void *p_os_file_mem)
 
bool MemPro::GenericPlatform::WriteFile (void *p_os_file_mem, const void *p_data, int size)
 

Macro Definition Documentation

◆ ENUMERATE_ALL_MODULES

#define ENUMERATE_ALL_MODULES

◆ MEMPRO_ALIGN_SUFFIX

#define MEMPRO_ALIGN_SUFFIX (   n)    __attribute__ ((aligned(n)))

◆ MEMPRO_ASSERT

#define MEMPRO_ASSERT (   b)    if(!(b)) Platform::DebugBreak()

◆ MEMPRO_CONNECT_TIMEOUT

#define MEMPRO_CONNECT_TIMEOUT   500

◆ MEMPRO_DISABLE_WARNING

#define MEMPRO_DISABLE_WARNING (   w)

◆ MEMPRO_ENABLED

#define MEMPRO_ENABLED   1

◆ MEMPRO_FORCEINLINE

#define MEMPRO_FORCEINLINE   inline

◆ MEMPRO_INIT_DELAY

#define MEMPRO_INIT_DELAY   100

◆ MEMPRO_INSTRUCTION_BARRIER

#define MEMPRO_INSTRUCTION_BARRIER

◆ MEMPRO_INTERLOCKED_ALIGN

#define MEMPRO_INTERLOCKED_ALIGN

◆ MEMPRO_PLATFORM_UNIX

#define MEMPRO_PLATFORM_UNIX

◆ MEMPRO_POP_WARNING_DISABLE

#define MEMPRO_POP_WARNING_DISABLE

◆ MEMPRO_PORT

#define MEMPRO_PORT   "27016"

◆ MEMPRO_PUSH_WARNING_DISABLE

#define MEMPRO_PUSH_WARNING_DISABLE

◆ MEMPRO_TRACK_ALLOC

#define MEMPRO_TRACK_ALLOC (   p,
  size 
)    MemPro::TrackAlloc(p, size, WAIT_FOR_CONNECT)

◆ MEMPRO_TRACK_FREE

#define MEMPRO_TRACK_FREE (   p)    MemPro::TrackFree(p, WAIT_FOR_CONNECT)

◆ MEMPRO_UNIX_BASED_PLATFORM

#define MEMPRO_UNIX_BASED_PLATFORM

◆ STACK_TRACE_SIZE

#define STACK_TRACE_SIZE   128

◆ THREAD_LOCAL_STORAGE

#define THREAD_LOCAL_STORAGE   __thread

◆ WAIT_FOR_CONNECT

#define WAIT_FOR_CONNECT   false