试图在这里找到答案,最终在另一个网站上找到了线索。在这里发布以防有人在这里搜索并遇到同样的问题。
NSDictionary *d = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"foo", YES, 42, nil]
forKeys:[NSArray arrayWithObjects:@"bar", @"baz", @"count", nil]];
Run Code Online (Sandbox Code Playgroud)
这产生:
Program received signal: "EXC_BAD_ACCESS"
Run Code Online (Sandbox Code Playgroud)
这是什么原因?
我正在使用 Xcode 4 制作一个命令行工具。
我在 strcpy 线上收到 EXC_BAD_ACCESS 错误:
char *invalidOption = NULL;
strcpy(invalidOption, argv[2]);
Run Code Online (Sandbox Code Playgroud)
argv[1] 是 -v (“有效”选项),argv[2] 是 -z (“无效”选项)。
然后,出于显示原因,我需要更改“invalidOption”(打印“错误”消息)。
关于为什么会发生这种情况有什么想法吗?如果您需要更多详细信息,请告诉我。
program-entry-point exc-bad-access objective-c strcpy xcode4
我有一个简单的Answer类,如下所示:
@interface Answer : NSObject {
NSString *_text;
NSNumber *_votes;
}
@property(nonatomic, retain) NSString *text;
@property(nonatomic, retain) NSNumber *votes;
+(id)initFromAnswerData:(NSSet *)data;
-(id)initWithText:(NSString *)answer;
@end
Run Code Online (Sandbox Code Playgroud)
实现如下:
#import "Answer.h"
#import "AnswerData.h"
#import "AppDelegate.h"
@implementation Answer
@synthesize text = _text;
@synthesize votes = _votes;
-(id)initWithText:(NSString *)answer {
if( (self=[super init])) {
_text = answer;
_votes = 0;
}
return self;
}
@end
Run Code Online (Sandbox Code Playgroud)
如果我使用该initWithText:方法在视图控制器中创建一个Answers数组,当我在数组中取一个Answer并尝试找到它的文本值时,我不可避免地会出现EXC_BAD_ACCESS错误.
但是,如果我初始化一个新的答案,设置文本值,然后将其添加到数组我没有此访问问题.
所以这会导致问题:
[arrayOfAnswers addObject:[[Answer alloc] initWithText:@"Hello"]];
Run Code Online (Sandbox Code Playgroud)
但这不是:
Answer *newAnswer = [[Answer alloc] initWithText:nil];
newAnswer.text = @"Hello";
[arrayOfAnswers addObject:newAnswer]; …Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,可以将各种过滤器应用于图像.它在iOS 5上运行良好但在6上崩溃.下面是它崩溃的地方示例:
CGImageRef inImage = self.CGImage;
CFDataRef m_DataRef = CGDataProviderCopyData(CGImageGetDataProvider(inImage));
UInt8 * m_PixelBuf = (UInt8 *) CFDataGetBytePtr(m_DataRef);
int length = CFDataGetLength(m_DataRef);
for (int i=0; i<length; i+=4)
{
if(filter == filterCurve){
int r = i;
int g = i+1;
int b = i+2;
int red = m_PixelBuf[r];
int green = m_PixelBuf[g];
int blue = m_PixelBuf[b];
m_PixelBuf[r] = SAFECOLOR(red); // <==== EXC_BAD_ACCESS (code = 2)
m_PixelBuf[g] = SAFECOLOR(green);
m_PixelBuf[b] = SAFECOLOR(blue);
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试将值重新分配给时,请注意错误的访问点m_PixelBuf.任何人都知道为什么会这样?iOS 6中的内容会导致什么?
我试图让调试器不停止信号:
proc hand -p true -s false SIGBUS
proc hand -p true -s false SIGSEGV
我什至试图设置-s false所有信号。
但它仍然停止执行EXC_BAD_ACCESS。
它经常发生,有时可能是无限循环。它使调试变得不可能。
有没有办法让 lldb 不停止?
我将系统驱动器图标 (NSImage) 添加到我的驱动器列表中
现在应用程序在 AppDelegate.swift 的第 13 行崩溃
class AppDelegate: NSObject, NSApplicationDelegate {
了
Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffeef3fff48)
我知道这是我添加的图像,因为当我用文本替换它时就可以了
这是我添加图像的类。
import SwiftUI
let workspace = NSWorkspace.init()
struct DriveList: View {
let drives = SDCardTools.getDrives()!
var body: some View {
return List(drives) { drive in
DriveRow(drive : drive)
}
}
}
struct DriveRow: View {
var drive : Drive
var body: some View {
HStack {
DriveIcon(path : drive.path)
padding(10)
Text(drive.name)
}
}
}
struct DriveIcon : View {
var …Run Code Online (Sandbox Code Playgroud) 应用说明:我是一名新的iPhone开发人员.我正在使用一个应用程序,它使用两个表视图,然后是详细视图.第一级表视图显示几个类别,当选择类别时,将显示与该类别相关的主题列表.选择主题后,将显示与该主题相关的详细视图.
当我在模拟器中运行应用程序时,一切似乎都运行良好(但只是简单!):
我正在为应用程序使用两个nib:MainWindow.xib显示First Level和Topic View表.TopicDetail.xib用于显示主题的详细信息.
数据:第一级视图从包含字符串数组的plist获取其数据.主题列表视图从词典列表中获取其数据.每个字典由五个字符串组成.其中一个字符串包含与主题相关的类别的"标签".选择"第一级视图"中的类别时,"主题视图"将选择与所选类别匹配的"标签"主题,并将其显示在"主题视图表"上.
问题:我的问题在于第二个"主题视图".我可以通过几种方式导致崩溃:
如果我快速向上和向下滚动主题列表,几秒钟内一切正常,那么应用程序崩溃.
如果我从屏幕上滚动一个单元格,我可以将同一单元格滚动回屏幕而不会出现问题.如果我重复此操作(第二次从屏幕上滚动相同的单元格然后尝试将其滚动回屏幕),当将单元格滚动回屏幕时应用程序崩溃.
错误消息:返回的初始错误消息是EXC_BAD_ACCESS.当我启用NSZombieEnabled时,我收到错误消息" - [CFString retain]:消息发送到解除分配的实例 "
基于这些错误消息和我的研究,我相信我有一个内存分配问题,在已经发布的对象上调用"retain",但我无法弄清楚这个发生的位置以及如何解决它!任何帮助将不胜感激 - 谢谢你提前!!
码:
第一级视图Controller.h:
#import
@class TopicListController;
@interface FirstLevelViewController : UITableViewController {
NSArray *controllers;
TopicListController *childController;
}
@property (nonatomic, retain) NSArray *controllers;
@endRun Code Online (Sandbox Code Playgroud)
第一级视图Controller.m:
#import "FirstLevelViewController.h"
#import "TopicListController.h"
#import "TopicAppDelegate.h"
@implementation FirstLevelViewController
@synthesize controllers;
- (void)viewDidLoad
{
self.title = @"Categories";
NSString *path = [[NSBundle mainBundle] pathForResource:@"TopicCategoryList" ofType:@"plist"];
NSMutableArray *array = [[NSMutableArray …Run Code Online (Sandbox Code Playgroud) 我最近想通过使用BSD套接字来构建自己的客户端-服务器系统。某些时候,我想加入SSL来加密数据传输。我按照本教程进行操作,并使用Xcode(添加了链接器标志:-lssl -lcrypto)很好地编译了代码,但是EXC_BAD_ACCESS一旦程序到达SSL_CTX_use_certificate_file()调用位置,我就一直得到所有的时间。您可以在下面看到使用的代码。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <openssl/bio.h>
#include <openssl/ssl.h>
#include <openssl/err.h>
int main(int argc, const char * argv[])
{
SSL_METHOD *method = NULL;
SSL_CTX *ctx = NULL;
OpenSSL_add_all_algorithms();
SSL_load_error_strings();
method = SSLv2_server_method();
ctx = SSL_CTX_new(method);
SSL_CTX_use_certificate_file(ctx, "/Users/steve/certificate.pem", SSL_FILETYPE_PEM);
SSL_CTX_use_PrivateKey_file(ctx, "/Users/steve/key.pem", SSL_FILETYPE_PEM);
printf("Hello, World!\n");
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
如果程序无法在指定的路径中找到证书,则它不会崩溃,但是我当然不会进行任何SSL加密。证书本身可能有问题吗?我只是使用以下命令通过openssl生成了一个:
# generate the key
$ openssl genrsa -out key.pem 1024
# generate request
$ openssl req -new -key key.pem -out request.pem
# fill in …Run Code Online (Sandbox Code Playgroud) 我有一个UIViewController与UITableView当的tableView是空的,我想展现另一种看法,所以我用这个
[self.tableView setHidden:YES];
NoKidsViewController *noKids = [self.storyboard instantiateViewControllerWithIdentifier:@"NoKidsView"];
[self.view addSubview:noKids.view];
Run Code Online (Sandbox Code Playgroud)
一切都很好,我能看到这个观点.但当我点击其中一个按钮时,我收到EXC_BAD_ACCESS EXC_I386_GPFLT错误.
//NoKidsViewController
- (IBAction)addNewKid:(id)sender {
AddKid *addKidController = [self.storyboard instantiateViewControllerWithIdentifier:@"AddKid"];
[self.navigationController pushViewController:addKidController animated:YES];
}
- (IBAction)saleSpot:(id)sender {
SaleSpot *saleSpotController = [self.storyboard instantiateViewControllerWithIdentifier:@"AddKid"];
[self.navigationController pushViewController:saleSpotController animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
我在网上搜索了3个多小时,试图找到没有成功的解决方案.什么可能导致错误?我该如何解决?
我正在使用webRTC运行代码。我没有发布代码,因为我真的不知道它崩溃的地方。它几乎是数千行代码。我想知道代码在哪里崩溃。是否有任何工具或任何方法来准确获取崩溃的代码行