I have RSI, and when it flares up, I use Dragon Naturally Speaking 12 Home
to save me a lot of typing. Generally I find it very accurate and my RSI subsides when I'm not typing so much.
However, I'm now using it on Windows 10
, developing WinForms applications in Visual Studio 2013
. When running with the debugger attached, I'm getting a lot of COM Exceptions.
These occur in various places, mostly when when a ToolStripMenu
is shown (when running nothing at all that accesses any COM component), and I have finally tracked it down to Dragon.
If Dragon is running, even with the microphone switched off, the exceptions occur, but if I switch Dragon off, they do not.
I used the same combination of software on Windows 7
last year and had none of these problems.
Rebooting makes no difference; nor does also starting Visual Studio either before or after starting Dragon.
I want to avoid the expense of moving to a later version of Visual Studio or Dragon unless I know the problem is solved at the later version.
How can VS2013 be prevented from catching these exceptions?
Edit to provide stack trace:
System.Runtime.InteropServices.COMException crossed a native/managed boundary
ErrorCode=-2147352573
Message=Member not found. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))
Source=Accessibility
StackTrace:
at Accessibility.IAccessible.get_accKeyboardShortcut(Object varChild)
at System.Windows.Forms.AccessibleObject.get_accKeyboardShortcutInternal(Object childID)
InnerException:
The Stack trace is identical in all cases where the COM Exception is caught on show of a ToolStripMenu.
**Edited for conciseness and removal of irrelevant detail.
I would guess that VS 2015 isn't going to help much, because it's much more likely to be a difference in interaction between the new OS and Dragon.
Can you enable Debug -> Windows -> Modules and check if there's something related to Dragon hooked into the process you're debugging? I'm guessing Dragon hooks in and its calls aren't being error-checked, so they bubble up to your debugging session.
Is there something in Dragon to exclude processes? You can exclude your target if so and see if it helps.