summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2019-06-07 05:57:17 +0000
committermidipix <writeonce@midipix.org>2019-06-07 06:02:07 +0000
commit4085aa86adeaadcc3d3741605083fd2a148f2277 (patch)
treed2d6a29b23dc7aa337907aa340dfa40e6b617041
parent26395dd9a6655f8d65c94651f24fd05cf0d1778a (diff)
downloadmmglue-4085aa86adeaadcc3d3741605083fd2a148f2277.tar.bz2
mmglue-4085aa86adeaadcc3d3741605083fd2a148f2277.tar.xz
debug interfaces: added __dbg_rbreak(), __dbg_tbreak(), and __dbg_lbreak().
-rw-r--r--include/sys/debug.h5
-rw-r--r--src/arch/nt32/debug.c15
-rw-r--r--src/arch/nt64/debug.c15
3 files changed, 35 insertions, 0 deletions
diff --git a/include/sys/debug.h b/include/sys/debug.h
index 0d98d44..908ac2b 100644
--- a/include/sys/debug.h
+++ b/include/sys/debug.h
@@ -142,6 +142,11 @@ int __dbg_fork(void);
int __dbg_suspend(int);
int __dbg_kill(int);
+/* breakpoint via remote break-in, thread context manipulation, or lpc message */
+int __dbg_rbreak(int);
+int __dbg_tbreak(int);
+int __dbg_lbreak(int);
+
/**
* query one (or all) pending debug event(s) for the given debug
* file descriptor:
diff --git a/src/arch/nt32/debug.c b/src/arch/nt32/debug.c
index cfa6aee..cf540e9 100644
--- a/src/arch/nt32/debug.c
+++ b/src/arch/nt32/debug.c
@@ -38,6 +38,21 @@ int __dbg_kill(int pfd)
return __db_vtbl->dbg_kill(pfd);
}
+int __dbg_rbreak(int pfd)
+{
+ return __db_vtbl->dbg_rbreak(pfd);
+}
+
+int __dbg_tbreak(int pfd)
+{
+ return __db_vtbl->dbg_tbreak(pfd);
+}
+
+int __dbg_lbreak(int pfd)
+{
+ return __db_vtbl->dbg_lbreak(pfd);
+}
+
int __dbg_event_query_one(int pfd, struct __dbg_event * evt)
{
return __db_vtbl->dbg_event_query_one(pfd,evt);
diff --git a/src/arch/nt64/debug.c b/src/arch/nt64/debug.c
index cfa6aee..cf540e9 100644
--- a/src/arch/nt64/debug.c
+++ b/src/arch/nt64/debug.c
@@ -38,6 +38,21 @@ int __dbg_kill(int pfd)
return __db_vtbl->dbg_kill(pfd);
}
+int __dbg_rbreak(int pfd)
+{
+ return __db_vtbl->dbg_rbreak(pfd);
+}
+
+int __dbg_tbreak(int pfd)
+{
+ return __db_vtbl->dbg_tbreak(pfd);
+}
+
+int __dbg_lbreak(int pfd)
+{
+ return __db_vtbl->dbg_lbreak(pfd);
+}
+
int __dbg_event_query_one(int pfd, struct __dbg_event * evt)
{
return __db_vtbl->dbg_event_query_one(pfd,evt);