2012-02-12 3 views
0

Или, по крайней мере, я не могу понять, как найти ошибку. Я прочел массу вещей, но каждый раз, когда я вхожу в мою схему продуктов и включаю Guard Malloc, моя программа не будет работать.Не удается найти ошибку EXC_BAD_ACCESS

Строка кода, который дает мне проблему это ... Это происходит на NSString * ул = ... линия

- (void) setVolumeCompletionDate: (NSString *)volumeID: (double)completionDate 
{ 
    sqlite3_stmt *pStmt; 
    NSString *str = [NSString stringWithFormat:@"UPDATE Volumes SET GoalDate = %d WHERE VolumeID = '%@'", completionDate, volumeID]; 

    //more stuff 
} 

Если я жёстко значение completionDate (1350129600) в этой строке , код работает просто отлично, так что из всего, что я читал, кажется, что память finalDate набирается где-то, или что-то плохое происходит. Мой проект настроен для ARC.

Я думаю, что часть моей проблемы заключается в том, что я даже не знаю, куда идти, чтобы решить эту проблему. Я даже не знаю, что искать. Все сообщения, которые я читал о том, чтобы отслеживать его с помощью какого-либо инструмента Malloc, не имеют смысла, потому что я не могу это запустить.

Я хотел бы иметь возможность выяснить это. Возможно, мне нужно больше и полные шаги для отладки и отслеживания вещей. Многие из ответов, которые я читал, кажутся похожими на то, что они написаны для людей, которые все знают, потому что так много осталось от ответа, или так много предполагается, что человек задает вопрос. Если есть лучшее место для меня, чтобы задать свой вопрос, пожалуйста, укажите мне в этом направлении.

Большое спасибо. Я ценю вашу помощь.

ответ

0

completionDate - double, поэтому используйте% f вместо% d.

https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html

+0

Я считаю, что% lf будет более точным. –

+0

Большое вам спасибо. Я так много не знаю, и каждую минуту я провожу учение о том, как программировать, еще больше раскрывает мои недостатки. Но я определен. Спасибо за вашу помощь. – jalayo

+0

@Joel: Я думаю, что% f vs.% lf применимо к printf/scanf, но NSString, кажется, всегда использует% f, поэтому я не уверен, что% lf в этом случае является правильным. См. Ссылку, добавленную выше в моем ответе. – cbranch

Смежные вопросы