• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VC++2010のデバッグ中の変数表示について)

VC++2010のデバッグ中の変数表示について

このQ&Aのポイント
  • VC++2010でデバッグ中の変数表示について疑問があります。自動変数やローカル変数が表示されない場合の理由を教えてください。
  • VC++2010でデバックのブレークポイントを使用して変数の中身を確認している際、時折自動変数やローカル変数が表示されません。表示されない理由を教えてください。
  • VC++2010で変数の中身をデバッグ中に確認する際、一部の自動変数やローカル変数が表示されないことがあります。なぜ表示されないのか、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

result = (char*)tagger->parse(p); delete tagger; ★ taggerがdeleteされたので、そこから返された resultが指している空間も無効になったと 思います。それで、中身も見えないし、使えば エラーになるのでしょう。 MessageBoxの後までtaggerをdeleteしない ようにすれば解決するのでは?

fees84
質問者

お礼

ご指摘の通りでした。 表示されないのは、参照先が無かったからだったんですね。 ありがとうございました。

その他の回答 (2)

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.3

Mecab::Tagger::Parseのリファレンスを見ると、 http://mecab.sourceforge.net/doxygen/classMeCab_1_1Tagger.html#a54673ae9b361065388564354b059b61f You should not delete the returned string. と書いてあるので、Taggerの内部でメモリを確保しているのでしょうね。 後は#2さんのおっしゃる通り、taggerをdeleteした時にメモリが解放され、 その後の参照により、落ちているのでしょう。

fees84
質問者

お礼

resultは他のメモリを見に行ってるだけですもんね。 その対象がなくなればエラー吐くのも道理でした。 ありがとうございました。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

resultが未初期化。 ってのが表示されない・例外双方の原因でしょう。

関連するQ&A