MCPcopy Create free account
hub / github.com/Vector35/debugger / BNDebuggerRegisterEventCallback

Function BNDebuggerRegisterEventCallback

core/ffi.cpp:888–923  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

886
887
888size_t BNDebuggerRegisterEventCallback(
889 BNDebuggerController* controller, void (*callback)(void* ctx, BNDebuggerEvent* event), const char* name, void* ctx)
890{
891 return controller->object->RegisterEventCallback(
892 [=](const DebuggerEvent& event) {
893 BNDebuggerEvent* evt = new BNDebuggerEvent;
894
895 evt->type = event.type;
896 evt->data.targetStoppedData.reason = event.data.targetStoppedData.reason;
897 evt->data.targetStoppedData.exitCode = event.data.targetStoppedData.exitCode;
898 evt->data.targetStoppedData.lastActiveThread = event.data.targetStoppedData.lastActiveThread;
899 evt->data.targetStoppedData.data = event.data.targetStoppedData.data;
900
901 evt->data.errorData.error = BNDebuggerAllocString(event.data.errorData.error.c_str());
902 evt->data.errorData.shortError = BNDebuggerAllocString(event.data.errorData.shortError.c_str());
903 evt->data.errorData.data = event.data.errorData.data;
904
905 evt->data.exitData.exitCode = event.data.exitData.exitCode;
906
907 evt->data.relativeAddress.module = BNDebuggerAllocString(event.data.relativeAddress.module.c_str());
908 evt->data.relativeAddress.offset = event.data.relativeAddress.offset;
909
910 evt->data.absoluteAddress = event.data.absoluteAddress;
911
912 evt->data.messageData.message = BNDebuggerAllocString(event.data.messageData.message.c_str());
913
914 callback(ctx, evt);
915
916 BNDebuggerFreeString(evt->data.errorData.error);
917 BNDebuggerFreeString(evt->data.errorData.shortError);
918 BNDebuggerFreeString(evt->data.relativeAddress.module);
919 BNDebuggerFreeString(evt->data.messageData.message);
920 delete evt;
921 },
922 name);
923}
924
925
926void BNDebuggerRemoveEventCallback(BNDebuggerController* controller, size_t index)

Callers 1

RegisterEventCallbackMethod · 0.85

Calls 3

BNDebuggerAllocStringFunction · 0.85
BNDebuggerFreeStringFunction · 0.85
RegisterEventCallbackMethod · 0.45

Tested by

no test coverage detected