我有这个代码试图在一个循环中运行一组简单的图像.我在应用程序中的所有内容都是在我的View Controller的.h文件中声明的一个UIImageView:
@property (strong, nonatomic) IBOutlet UIImageView *imageDisplay;
Run Code Online (Sandbox Code Playgroud)
以下是我的.m文件的viewDidLoad方法:
NSMutableArray *imageView = [[NSMutableArray alloc] init];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim1.png"]]];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim2.png"]]];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim3.png"]]];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim4.png"]]];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim5.png"]]];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim6.png"]]];
[imageView addObject:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"EyeAnim7.png"]]];
imageDisplay.animationImages = imageView;
imageDisplay.animationDuration = 0.25;
imageDisplay.animationRepeatCount = 50;
[imageDisplay startAnimating];
Run Code Online (Sandbox Code Playgroud)
代码似乎在"imageDisplay.animationImages"行上崩溃,就像我创建UIImageView,创建它的getter和setter,以及构建一样,直到我取消注释该行为止.如果我取消注释它,它会一直给我错误,直到我删除UIImageView并创建一个新的.
不太确定发生了什么,任何帮助表示赞赏!
Incident Identifier: B959CD08-FA2C-4A34-8D0C-343927FF6B86
CrashReporter Key: 78e6625f679cb4cfb76f553075c64a197002c1bf
Hardware Model: iPad3,1
Process: ktv [50343]
Path:
/var/mobile/Applications/B8971D06-6001-49F7-81E1-8B88CDA5EB03/ktv.app/ktv
Identifier: ktv
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-01-09 18:59:32.193 +0800
OS Version: iPhone OS 5.1.1 (9B206)
Report Version: 104
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x30da732c __pthread_kill + 8
1 libsystem_c.dylib 0x33338208 pthread_kill + 48
2 libsystem_c.dylib 0x33331298 abort + 88
3 libc++abi.dylib …Run Code Online (Sandbox Code Playgroud) 我的应用运行完美,没有任何问题.但是当我尝试调试它时,android studio冻结了.所以我收到消息"等待调试器",然后该消息消失,然后我在模拟器中只得到一个黑屏.我也收到了消息
SIGNAL = SIGABRT (signal SIGABRT)
Run Code Online (Sandbox Code Playgroud)
在变量选项卡下的调试窗口中.
我该如何解决?
我正在尝试做一个应用程序,你按下按钮然后UIAlertView出现,里面有一个UIView3自定义按钮.到目前为止一切正常.当我点击其中一个按钮时,我想要更改一个图像UIImageView并且也可以.问题在于,每当我尝试启动应用程序时,就会出现sigabrt.
将SIGABRT在我的发生AppDelegate.m在这条线:
self.window.rootViewController = self.viewController;
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮助我那将是伟大的,顺便说一句,我不习惯xcode和objective-c所以我不知道为什么会发生这种情况.
这是我的viewController.h
#import UIKit/UIKit.h (i removed < > cause they were hiding everything inbetween in the post.)
@interface savingstatusViewController : UIViewController {
UIView *loginView;
UIImageView *statusImage;
UIAlertView * MyTicketAlert;
}
- (IBAction)status:(id)sender;
@property (nonatomic, retain) IBOutlet UIView *loginView;
@property (nonatomic, retain) IBOutlet UIImageView *statusImage;
@property (nonatomic, retain) IBOutlet UIAlertView * MyTicketAlert;
- (IBAction)green:(id)sender;
- (IBAction)yellow:(id)sender;
- (IBAction)red:(id)sender;
@end
Run Code Online (Sandbox Code Playgroud)
这是我的viewController.m
#import "savingstatusViewController.h"
@implementation savingstatusViewController
@synthesize loginView; …Run Code Online (Sandbox Code Playgroud) 我已经使用Xcode开发iPhone应用程序已有几年了.在过去的几个月里,我已经更新到Xcode 4.2 for iOS 5开发.
在Xcode的早期版本中,我发现很少发生崩溃而没有任何记录错误发生的地方.使用Xcode 4.2/iOS 5,我发现我经常在没有任何日志的情况下崩溃.我最后在main.m中停止了代码,其中包含"program received signal SIGABRT"(或其他几条消息)但根本没有日志消息的消息.(我正在寻找Xcode gui底部的"All Output"窗口).
例如,我的最后一个是我使用initWithNibName:bundle:方法但输入错误的nib名称.代码在没有错误的情况下传递了这一行,但是当我进入pushViewController:animated:方法时,代码与SIGABRT消息崩溃但没有日志消息.我花了一段时间才找到我的错字......
我相信在以前版本的Xcode中我会看到更多信息......
我在Xcode 4.2中缺少什么?我应该启用一些额外的调试功能吗?有什么方法可以让它提供更多有用的崩溃信息?或者这是iOS 5/Xcode 4.2的已知问题?
谢谢你的任何指示......
我写了这段无辜的代码,导致了这样一个邪恶的错误:
static char * prefixed( char * pref, char *str ) {
size_t newalloc_size = sizeof(char) * (strlen(pref) + strlen(str));
char * result = (char*) malloc( newalloc_size );
[...]
Run Code Online (Sandbox Code Playgroud)
debug(cgdb)的输出:
Breakpoint 1, prefixed (pref=0x401345 "Env: ", str=0x4012b5 "Home") at ./src/backend/os/env.c:77
(gdb) s
(gdb) p newalloc_size
$1 = 9
(gdb) s
envtest: malloc.c:2368: sysmalloc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >=
(unsigned long)((((__builtin_offsetof …Run Code Online (Sandbox Code Playgroud) 我的应用程序在iPhone 6.1模拟器上崩溃了.它在启动时崩溃,但不是每次都崩溃.事实上,我不能让它连续两次崩溃.有时它是我每次跑步的时候,有时候每次击中跑步都是这样.崩溃是一个SIGABRT并且不会产生任何错误消息.我在所有异常上设置了断点,但它总是在main.m中的UIApplicationMain(...)处断开
回溯产生:
* thread #1: tid = 0x1c03, 0x91398a6a libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT
frame #0: 0x91398a6a libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x95c31b2f libsystem_c.dylib`pthread_kill + 101
frame #2: 0x023e857b libsystem_sim_c.dylib`abort + 140
frame #3: 0x02d92b4e GraphicsServices`GSRegisterPurpleNamedPort + 348
frame #4: 0x02d9269f GraphicsServices`_GSEventInitialize + 123
frame #5: 0x02d92c1f GraphicsServices`GSEventInitialize + 36
frame #6: 0x00ee0d99 UIKit`UIApplicationMain + 600
frame #7: 0x0000277d MyApp`main(argc=1, argv=0xbffff388) + 141 at main.m:16
Run Code Online (Sandbox Code Playgroud)
该应用程序似乎没有在设备上崩溃,但这是非常烦人的,刚刚开始.我已经尝试重置内容,重新启动Xcode,重新启动计算机 - 没有运气.我有什么想法可以调试这个吗?
我知道raise(SIGABRT)和abort()方法都会向自己发送一个 SIGABRT 信号。但是这两个功能之间存在一些差异。(例如 -abort()函数解除对 SIGABRT 信号的阻塞,而raise(SIGABRT)没有。)
raise(SIGABRT)和abort()方法之间的其他区别是什么
我正在尝试调试我的许多用户在该领域报告的崩溃错误.所有都显示我相同的堆栈:
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Triggered by Thread: 8
OS Version: iOS 9.1 (13B143)
Code Type: ARM (Native)
0 libsystem_kernel.dylib 0x392ccc84 0x392b8000 + 85124
1 libsystem_pthread.dylib 0x39370732 0x3936c000 + 18226
2 libsystem_c.dylib 0x39264f9a 0x3921a000 + 307098
3 libsystem_c.dylib 0x39264f2c 0x3921a000 + 306988
4 libsystem_c.dylib 0x392447ea 0x3921a000 + 174058
5 MyApp 0x000cb3e0 __69-[MyDataManager myMethod:]_block_invoke (MyDataManager.m:2367)
Run Code Online (Sandbox Code Playgroud)
2367行简单地说:
2363: BOOL success = [db executeUpdate:@"INSERT INTO table (id, content) VALUES (?, ?)", message.remoteId, message.content];
2364: assert(success);
2365: …Run Code Online (Sandbox Code Playgroud) 我的 macCatalyst 应用程序最近发生了一些随机崩溃。到处寻找但没有找到任何好的线索。我的猜测是,这与内存或屏幕上可见的视图太多有关。我没有得到很好的堆栈跟踪,但这就是日志中显示的内容:
-[MTLDebugDevice notifyExternalReferencesNonZeroOnDealloc:]:2951: failed assertion `The following Metal object is being destroyed while still required to be alive by the command buffer 0x7f8cd811c600 (label: <no label set>):
<MTLToolsObject: 0x7f8b0f9e3d60> -> <MTLIGAccelTexture: 0x7f8cd8566a00>
label = CAMetalLayer Drawable
textureType = MTLTextureType2D
pixelFormat = MTLPixelFormatBGRA8Unorm_sRGB
width = 772
height = 1372
depth = 1
arrayLength = 1
mipmapLevelCount = 1
sampleCount = 1
cpuCacheMode = MTLCPUCacheModeDefaultCache
storageMode = MTLStorageModeManaged
hazardTrackingMode = MTLHazardTrackingModeTracked
resourceOptions = MTLResourceCPUCacheModeDefaultCache MTLResourceStorageModeManaged MTLResourceHazardTrackingModeTracked
usage = MTLTextureUsageShaderRead MTLTextureUsageShaderWrite …Run Code Online (Sandbox Code Playgroud)