MySQL ++に問題があり、必然的に助けが必要です。 Visual Studio 2010、MySQL ++ v3.1.0、MySQL v5.1.59(x86 & x64)を使用しています。 すべてのライブラリが正しくコンパイルされています。このエラーは、コンパイラ設定 "Both(/ RTC1、equiv。〜/ RTCsu)(/ RTC1)"がオンになっているため、Debugバージョンでのみ発生します。MySQL ++ - ランタイムチェック失敗#2 - 変数の周りのスタックが壊れていました
編集:これは、デバッグバージョンでのみ発生することに注意してください。リリースではそれは魔法のように動作します 問題をmysqlpp_d.dllに戻して追跡しました。参照カウントのために、デストラクタでMySQL ++オブジェクトがクラッシュしています。 refカウンタのメモリにアクセスできないという不満があり、それを減らそうとするとクラッシュします。少なくとも、私はそれが起こると思います。
は、私は、これは必ずすべてがderefrenced、正しい順序で削除される作ってみました(でも、その無関係なカントー、しかし私は、私は願っています真の問題追跡助けた):それはでクラッシュをLauncher.exeの0x000007feeef5dd4c(mysqlpp_d.dll)の最初の例外です。0xC0000005:0x000007feeeff5148という場所にアクセス違反を書き込みます。 Launcher.exeの0x000007feeef5dd4c(mysqlpp_d.dll)で処理されない例外:0xC0000005:アクセス違反が0x000007feeeff5148に書き込まれました。ここ
そしてbreakes: http://pastebin.com/9Mfr7NwB
ライブラリのデバッグバージョンとアプリケーションのデバッグバージョンをリンクしていますか? – alexisdm
はい、すべてのバージョンですべてが正しくリンクされていることを確認しました。 – CFortner
さて、もう少しデバッグを行い、新しいコンソールプロジェクトを作成しました。そして私は誤りを受けなかった。 2つの間の唯一の違いは、1つはDLLプロジェクトで、もう1つはコンソールプロジェクトですが、これはコードの動作を考慮すると問題ではないと思います。 これは、エンジンで働いている人がメモリ管理をしているという結論に至り、MySQL ++がそのメモリをどのように処理するかに影響します。 – CFortner