diff options
author | Zoltan Varga <vargaz@gmail.com> | 2010-03-22 15:06:52 +0300 |
---|---|---|
committer | Zoltan Varga <vargaz@gmail.com> | 2010-03-22 15:06:52 +0300 |
commit | 1aa3e388948888f8dbae727b448ec6da6eb1a333 (patch) | |
tree | eb5bf53a5c523b24d030608b6bd769c0a9d8d7fd | |
parent | 5012b755ff6ec90450890828d11fdfd003e673db (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-x | mono/mini/ChangeLog | 6 | ||||
-rw-r--r-- | mono/mini/debugger-agent.c | 20 |
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; } /* |