2012年11月20日火曜日

ATL-ISAPI の受難

 いやー、出るわ出るわ、どんどん風化しますわ。 まじ、ウィンドウズ上で、ATLとかWTLとかWCFとかWPFとか、もう使いたくないわwww。 ATLISAPI を利用した Soapサービスを C++ でゴリゴリ書いたんですが、捨てられる捨てられる。その捨てられっぷりが見事で、IIS7になったら、まともに動作しないwww。  デバッグしようと思っても、プロセスが開始されず、アタッチもされないし、プロセス、即終了するしwww。 どないせぇちゅうねん。たまたま、Soap じゃない ISAPI.dll も作ってて、そっちは動いてたんで、同じ名前のアプリケーション・プールでそっちを動かしてプロセス・アタッチする事で、手がかりは掴めました。  原因は、ここに書いてあるような事で、とにかく、おかしい。リソース・リークしてるかもしれんけど、デバッグできんので、下のように修正してデバッグを続ける事に・・・。
  ~CRevertThreadToken() throw()
  {
    // should have been Restore()'d by now.
#ifdef _DEBUG
  // *****BUG****
  // if(m_hThreadToken != INVALID_HANDLE_VALUE) DebugBreak();
#endif
}
 おかしい、トレースしている範囲では、特におかしそうな所は無さそう…だけど、ハンドラが全く呼ばれない!でも、当たりを付けて探ったら、見つけました。Code Plex の方に情報が! あー、思い当たる節あるわ…つい先日、リソースハンドルがNULLで(#^ω^)ってなってたのと、同じや。 とりあえず、疲れた。

0 件のコメント: