Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZoltan Varga <vargaz@gmail.com>2010-03-22 15:06:52 +0300
committerZoltan Varga <vargaz@gmail.com>2010-03-22 15:06:52 +0300
commit1aa3e388948888f8dbae727b448ec6da6eb1a333 (patch)
treeeb5bf53a5c523b24d030608b6bd769c0a9d8d7fd
parent5012b755ff6ec90450890828d11fdfd003e673db (diff)
2010-03-22 Zoltan Varga <vargaz@gmail.com>
* debugger-agent.c (event_req_matches_assembly): Handle request modifiers too. svn path=/trunk/mono/; revision=153969
-rwxr-xr-xmono/mini/ChangeLog6
-rw-r--r--mono/mini/debugger-agent.c20
2 files changed, 22 insertions, 4 deletions
diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog
index 3107a484bde..ba4c98b72ba 100755
--- a/mono/mini/ChangeLog
+++ b/mono/mini/ChangeLog
@@ -1,7 +1,11 @@
+2010-03-22 Zoltan Varga <vargaz@gmail.com>
+
+ * debugger-agent.c (event_req_matches_assembly): Handle request modifiers too.
+
2010-03-21 Andreas Faerber <andreas.faerber@web.de>
* debugger-agent.c: #include sys/select.h for fd_set.
-
+
Code is contributed under MIT/X11 license.
2010-03-21 Zoltan Varga <vargaz@gmail.com>
diff --git a/mono/mini/debugger-agent.c b/mono/mini/debugger-agent.c
index 6bb41d993db..58e426a969b 100644
--- a/mono/mini/debugger-agent.c
+++ b/mono/mini/debugger-agent.c
@@ -4412,9 +4412,23 @@ event_req_matches_assembly (EventRequest *req, MonoAssembly *assembly)
{
if (req->event_kind == EVENT_KIND_BREAKPOINT)
return breakpoint_matches_assembly (req->info, assembly);
- else
- // FIXME:
- return FALSE;
+ else {
+ int i, j;
+
+ for (i = 0; i < req->nmodifiers; ++i) {
+ Modifier *m = &req->modifiers [i];
+
+ if (m->kind == MOD_KIND_EXCEPTION_ONLY && m->data.exc_class && m->data.exc_class->image->assembly == assembly)
+ return TRUE;
+ if (m->kind == MOD_KIND_ASSEMBLY_ONLY && m->data.assemblies) {
+ for (j = 0; m->data.assemblies [j]; ++j)
+ if (m->data.assemblies [j] == assembly)
+ return TRUE;
+ }
+ }
+ }
+
+ return FALSE;
}
/*