そして、アドインを登録しようとして、重大なエラーとやらが出る。
Heap blockなんとか~ってエラーだとわかり、解放時のエラーらしいというのは分かったのだが、デバッグモードでトラップするのは、非常に困難。
- Excelにあらかじめアドイン(ちゃんと登録できるやつ)を設定しておく
- デバッグビルド物件に置換
- VSデバッグモードでExcelを起動(アドインを引数にしない)
- 操作等を実施
- 例外ダイアログが出たら、デバッグでコードが出るところまで何度かボタンをクリック
これで、何とか原因を突き止めることができる。
今回の問題は、デバッグ実行時の引数にアドインを指定してると呼び出されない関数にあったので、はじめはわけが分からなかった。
#現在リリースされているものとは違うコードです。
こういう手法に気付くまでが大変だけど、コードや呼び出し履歴を掴めれば、どこの何が原因かを判別するのが容易になる。