mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2025-05-30 14:35:17 -04:00
kern: Svc(Legacy)ContinueDebugEvent
This commit is contained in:
parent
3289b45408
commit
b143f1e05f
9 changed files with 200 additions and 6 deletions
|
@ -36,9 +36,10 @@ namespace ams::kern {
|
|||
virtual ~KDebugBase() { /* ... */ }
|
||||
public:
|
||||
void Initialize();
|
||||
|
||||
Result Attach(KProcess *process);
|
||||
|
||||
KScopedAutoObject<KProcess> GetProcess();
|
||||
Result ContinueDebug(const u32 flags, const u64 *thread_ids, size_t num_thread_ids);
|
||||
|
||||
Result QueryMemoryInfo(ams::svc::MemoryInfo *out_memory_info, ams::svc::PageInfo *out_page_info, KProcessAddress address);
|
||||
Result ReadMemory(KProcessAddress buffer, KProcessAddress address, size_t size);
|
||||
|
@ -49,6 +50,8 @@ namespace ams::kern {
|
|||
Result GetDebugEventInfo(ams::svc::lp64::DebugEventInfo *out);
|
||||
Result GetDebugEventInfo(ams::svc::ilp32::DebugEventInfo *out);
|
||||
|
||||
KScopedAutoObject<KProcess> GetProcess();
|
||||
|
||||
/* TODO: This is a placeholder definition. */
|
||||
private:
|
||||
void PushDebugEvent(ams::svc::DebugEvent event, uintptr_t param0 = 0, uintptr_t param1 = 0, uintptr_t param2 = 0, uintptr_t param3 = 0, uintptr_t param4 = 0);
|
||||
|
|
|
@ -194,6 +194,7 @@ namespace ams::kern {
|
|||
void ClearDebugObject(KProcess::State state);
|
||||
|
||||
KEventInfo *GetJitDebugInfo();
|
||||
void ClearJitDebugInfo();
|
||||
|
||||
bool EnterUserException();
|
||||
bool LeaveUserException();
|
||||
|
@ -296,6 +297,18 @@ namespace ams::kern {
|
|||
|
||||
Result Reset();
|
||||
|
||||
void SetDebugBreak() {
|
||||
if (this->state == State_RunningAttached) {
|
||||
this->ChangeState(State_DebugBreak);
|
||||
}
|
||||
}
|
||||
|
||||
void SetAttached() {
|
||||
if (this->state == State_DebugBreak) {
|
||||
this->ChangeState(State_RunningAttached);
|
||||
}
|
||||
}
|
||||
|
||||
Result SetActivity(ams::svc::ProcessActivity activity);
|
||||
|
||||
void PinCurrentThread();
|
||||
|
|
|
@ -402,6 +402,16 @@ namespace ams::kern {
|
|||
return this->wait_result;
|
||||
}
|
||||
|
||||
constexpr void SetDebugExceptionResult(Result result) {
|
||||
MESOSPHERE_ASSERT_THIS();
|
||||
this->debug_exception_result = result;
|
||||
}
|
||||
|
||||
constexpr Result GetDebugExceptionResult() const {
|
||||
MESOSPHERE_ASSERT_THIS();
|
||||
return this->debug_exception_result;
|
||||
}
|
||||
|
||||
void WaitCancel();
|
||||
|
||||
bool IsWaitCancelled() const { return this->wait_cancelled; }
|
||||
|
|
|
@ -24,6 +24,8 @@ namespace ams::kern::svc {
|
|||
|
||||
/* 33 */ using ::ams::svc::ResultNotImplemented;
|
||||
|
||||
/* 54 */ using ::ams::svc::ResultStopProcessingException;
|
||||
|
||||
/* 57 */ using ::ams::svc::ResultNoSynchronizationObject;
|
||||
|
||||
/* 59 */ using ::ams::svc::ResultTerminationRequested;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue