今日はかなり冷え込みましたね…。事務所は暖房がかなり効いてる(つか効きすぎじゃねぇ?)ので、外に出るとあまりの寒さにほんと困ります。今日は風が痛かったぞ…。
そしてさらにはこの不景気。ほんと寒い>< 消費も冷え込んでしまうのも無理はないわな。
で、今日もせっせこプログラム。昨日、
「なんで動いてるのか謎☆」
と書いてましたが、やっぱり動きませんでしたw 多分、きちんとリンクされてなかったんでしょう。
一応、こちらが想定している通りの動きをしてくれるようになりましたが、未だによく落ちます。
落ち方としては完全にバッファオーバーランの類なんですが、何故そんなことになっているのか全く把握できてません…Orz
とりあえず、どの関数の中で落ちているかは把握できてます。ただ、落ちる理由はさっぱりです。マネージドな環境から呼び出したネイティブなインスタンスの中で確保された領域(あー言葉で書くとややこいな)ってのは、GCの対象になるのん? もうそうとしか思えない挙動なんよなぁ…。だってネイティブな環境で使ってやればこんなこと起きないんだもん。
まぁ、追々デバッグしていきましょう。悲しいかな、マネージドとネイティブの混在するワークスペースで、プロジェクトを越えてのdebugはできないみたいですね。マネージド同士、ネイティブ同士なら可能ですが、異種間では無理でした。
う〜ん、カット&トライやなぁ。ほんとはもっとがっつり調べたかったんやけど、なぜかCUIからportaudioを叩いたら、ASIOデバイスは0個ですって言われたのよねぇ。同一のPCでGUIから叩くときちんと2台見えてるのに。
あそこでASIOが見えていたらもっと深くdebugができたろうに。メモリ参照エラーを起こす関数はASIOをキックした後に呼び出すのよねぇ。
ま、明日以降も挑戦してみましょう。もうほぼ他の部分は完成したしね。明日にはRC版のリリースじゃー!
0 件のコメント:
コメントを投稿