問題タブ [alloc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
66 参照

objective-c - 割り当てられたオブジェクトの実現に問題があります

[searchDictリリース]でクラッシュが発生します。最新の2行の順序を入れ替えても、最新の行でクラッシュします(現在は[searchArrayリリース])。私はObjectiveCを初めて使用しますが、割り当て/リリースが正しく行われていないと思います...ヘルプ?:)

0 投票する
1 に答える
88 参照

xcode - xcodeプロジェクトでは、特定のアドレスにオブジェクトがあるプロパティを確認するにはどうすればよいですか?

割り当てツールを使用しようとしていますが、使用方法がわかりません。とにかく、exc_bad_accessを削除するだけでなく、これが非常に役立つと思います。

とにかく、私はこれをなんとか手に入れました:

* -[NSPathStore2リリース]:割り当て解除されたインスタンス0x6018e00に送信されたメッセージ

それはexc_bad_accessを正しくするインスタンスですか?しかし、それが何であるかはわかりませんし、私のコードは巨大です...どこからチェックを始めればよいのかわかりません。私はxcode3.2.5を使用しています

0 投票する
2 に答える
7541 参照

objective-c - 目的 C で alloc と dealloc をオーバーライドできますか?

allocまたはメソッドをオーバーライドするためにこれが必要になることはめったにないことは知っていますdeallocが、必要な場合はiPhoneプログラミングで可能ですか?

0 投票する
4 に答える
225 参照

iphone - 変数の暗黙的な初期化がiPhoneで一貫して機能しないのはなぜですか?

これが私のシナリオです-クラスのヘッダーファイルで私は次のことを行います:

実装ファイルでこれを行います:

私が見つけたのは、これを[NSString alloc] initWithString:]と比較すると、ある種の不整合があるということです。

ご覧のとおり、string1とstring2はまったく同じように扱われますが、string1は設定されていますが、string2は空のままです。後で参照すると、アクセスが悪くなります。

多分私は空の文字列をmethodTwoに渡していると思いました:それで私はそれが空ではないことを証明するNSLogを追加しましたが、期待される文字列を持っています。

これに変更する前に、この不整合に気付いたので、次のようにします。

これで、両方の文字列が期待どおりに機能しています。私の質問は、なぜこの矛盾があるのか​​ということです。

これが私に起こったのはこれだけではありません。それはあらゆる種類のオブジェクトで起こりました。毎回機能するように見えるのは、allocinitだけです。stringWithStringのようなメソッド:ほとんどの場合機能しますが、常に機能するとは限りません。

0 投票する
1 に答える
83 参照

ios - 目に見えないメモリリーク... iOS 4

だから私はメモリに問題があります。ゲームでメモリが微妙に蓄積されているため、オブジェクトを適切に解放または割り当て解除していないようです。

次のようにすべてのオブジェクトを初期化します。

次のように、dealloc メソッドですべてのオブジェクトを解放します。

ここで、私のゲームはビューで実行されることに言及する必要があると感じています。サブビューを「currentView」という 1 つの変数にロードするメイン ビューがあります。このようにビューを切り替えます。

問題がオブジェクトの初期化と割り当て解除にあるのか、それともビューにあるのかを知りたいです。また、機器に表示されない漏れを追跡するために使用できる戦略も知りたい.

私はこの情報をできるだけ早く必要としています. ありがとう。

編集:インストゥルメントを介して実行すると、アプリが使用するメモリが表示されます。と変な模様があります。最初のビューをロードすると、約で始まります。17MB使用。次に、2 番目のビューに切り替えると、最大 22 MB になります。ここで、最初のビューに戻ると、再び 17 MB まで下がることはありませんが、代わりに約 20 MB まで下がります。2つの間で切り替えを続けると、22mbと20mbの間になり、ほとんど同じままです。これはどのように説明できますか?

EDIT2: 上記の編集で説明されているパターンは、ゲーム全体で一貫しています。この一貫性のために、ゲームでレベルごとに 70kb のリークがあることに気付きました。明らかに、私のゲームが 100 MB 未満にとどまっている間は問題が発生しないはずなので、彼らが私のゲームを長時間プレイしない限り、これは問題になりません。

ただし、その 70kb のリークを追跡する方法を知りたいです。

0 投票する
1 に答える
531 参照

c++ - VC2008 C++ メモリ リーク

私の英語力は非常に低いことに注意してください。しかし、私は説明するために最善を尽くします。


Visual Studio 2008 sp1 で mfc プロジェクトを作成しています。

このプロジェクトには、2008/sp1/native C++ で作成された静的ライブラリが含まれていました

問題はそのステップです:

1) mfc プロジェクトをビルドしてデバッグを開始する
2) メイン ウィンドウの x ボタンまたは alt+f4 をクリックしてプログラムを終了する
3) メイン ウィンドウがすぐに閉じられる
4) しかし、taskmgr のプロセス タブを見ると、まだ生きている。
5) taskmgr で mfc プロジェクト プロセスを強制終了しようとすると、すぐ
に強制終了されます。
7) 時間は 5~10 分
8) ログを出力し、メモリリークを検出!!
9) ログは非常に大きく、テキストはほぼ 11 メガバイトです。


そして私はポイントを見つけます。
1) 静的ライブラリは常に、起動時に new 演算子を使用してライブラリのメイン機能クラスのインスタンスを作成します (起動は静的時間であり、main の前です)
2) 静的ライブラリのコンストラクターには次のコード
ノートがあります: 申し訳ありませんが試してみますこのエディターの「コード」タブを見て、コードセクションを作成できないので、コードを記述して「br」htmlタグを注文します。


//このコードは、ゲームの物理エンジンを使用した静的ライブラリです。

問題は、このインスタンスを破棄するときです。
(プログラムの最後に)削除演算子を呼び出すと、非常に長い時間がかかります。
を外すと

、またはMAX_OBJECT_NUMBERを減らします(元は#define MAX_OBJECT_NUMBER 100000でしたが、5または10に減らします)、「長い時間」が消えます!!

'm_objAvaliable' の型はstd::list<DWORD>
です。このメンバー変数はメモリ リークの原因ではないようです。(このコンテナにはヒープ割り当ての関係がないため)
、このライブラリを含む他のプロジェクトにはこの問題はありません。
(ただし、mfcプロジェクトに含まれるのは初めてで、この場合はこの問題しかわかりません)
その問題の解決策を想像できる人はいますか???
詳細が必要な場合は、この記事にコメントしてください。私はできるだけ早く返信し
ます:DEBUGモードでのみ発生します。リリース モードでは、この問題は発生しません。

0 投票する
1 に答える
240 参照

objective-c - Objective-C: class1 [alloc init] からのクラス 2 インスタンスの呼び出しが機能しない

GameScreen.m ファイルに次のメソッドがあり、独自の宣言があります - (void) GameScreen.h ファイルの drawNumbers:

この方法で、GameScreenViewController.m ファイルからこのメソッドを呼び出そうとしています。

これは、GameScreenViewController.m が viewController で、GameScreen クラスがすべてのボタン クリックやタイマーの実行などを取得するイベント ハンドラーである GameScreen.xib ファイルのボタンのタイトルを変更することになっています。 ] から [viewDidLoad] に変更しました。これは、画面が前面に表示されたときにタイトルを変更したいからです (画面管理は AppDelegate ファイルを介して行われます)。

問題は、同じクラス内から drawNumbers インスタンスを呼び出すと、

それは機能します (コードの実装やグラフィック インターフェイスに問題はありません)。

私は Apple Guide やインターネット上の膨大な数のページを閲覧してきましたが、これについて何の光明も見つけられないようです。さらなるヘルプ (ADG のどこで正確に答えが見つかるかについての答えを含む) は、本当に感謝しています。

(編集済み:念のため、AppDelegateコードを特定のビューに切り替えます):

0 投票する
2 に答える
3413 参照

iphone - Objective C の alloc を使用する場合と使用しない場合

私はオブジェクティブ C を学ぼうとしていますが、従うのが非常に奇妙だと思うことの 1 つは、いつ alloc を使用し、いつ使用しないかです。たとえば、次のコード スニップを見てください。

最初に割り当てるために、このようなことをする必要がないのはなぜですか?

客観的な C にはいくつかの基本的なことが欠けていると確信していますが、奇妙なことに、投稿せずに説明を見つけるのに苦労しています。ありがとう!!

0 投票する
4 に答える
117 参照

objective-c - 解放されたオブジェクトを再度割り当ててもよろしいですか?

もし私がこれをしたら

次の行にオブジェクトを割り当てることについて何か問題がありますか

また?

0 投票する
2 に答える
1826 参照

objective-c - Objective-C-allocとallocFromZoneの違いは?

重複の可能性:
allocとallocWithZoneの違いは何ですか?

allocWithZoneオブジェクト自体に近いメモリ位置を使用することでパフォーマンスを向上させるのに役立つという記事を読みました。これは本当ですか?allocWithZoneの代わりに使用することをお勧めしますallocか?allocとallocWithZoneの違いは何ですか?

証明された例は次のとおりです。