Exception breakpoint questions

A couple of questions about exception breakpoints:

  1. In SetExceptionBreakpoints in the various LanguageRuntime plugins, the C++ one bails out if m_process is not valid, while the Objective C version doesn’t perform that check. Is the check necessary? Should both runtimes perform it? (Should my Dylan language runtime plugin do it?)

  2. ThreadPlanCallFunction requires code for each language runtime currently to deal with exception breakpoints (and a new member variable). Wouldn’t it be better to iterate over the active / available language runtime plugins instead (using PluginManager::GetLanguageRuntimeInstances())

I’m happy to submit patches based on answers to the above.

Thanks,

  • Bruce

A couple of questions about exception breakpoints:

1) In SetExceptionBreakpoints in the various LanguageRuntime plugins, the
C++ one bails out if m_process is not valid, while the Objective C version
doesn't perform that check. Is the check necessary? Should both runtimes
perform it? (Should my Dylan language runtime plugin do it?)

2) ThreadPlanCallFunction requires code for each language runtime
currently to deal with exception breakpoints (and a new member variable).
Wouldn't it be better to iterate over the active / available language
runtime plugins instead (using PluginManager::GetLanguageRuntimeInstances())

Minor correction, this would be done via the Process's m_language_runtimes.

I'm happy to submit patches based on answers to the above.

- Bruce

A couple of questions about exception breakpoints:

1) In SetExceptionBreakpoints in the various LanguageRuntime plugins, the C++ one bails out if m_process is not valid, while the Objective C version doesn't perform that check. Is the check necessary? Should both runtimes perform it? (Should my Dylan language runtime plugin do it?)

You can't have a language runtime if you don't have a process (they get made with a pointer to their process, and are managed by the process. So this check does not seem necessary.

2) ThreadPlanCallFunction requires code for each language runtime currently to deal with exception breakpoints (and a new member variable). Wouldn't it be better to iterate over the active / available language runtime plugins instead (using PluginManager::GetLanguageRuntimeInstances())

It would be fine to do this in a more abstract way, but you have to remember to only clear them if you set them. Right now these are shared resources.

Jim