第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

“ EXC_BREAKPOINT(SIGTRAP)”異常是否由調(diào)試斷點(diǎn)引起?

“ EXC_BREAKPOINT(SIGTRAP)”異常是否由調(diào)試斷點(diǎn)引起?

至尊寶的傳說(shuō) 2019-11-11 10:33:15
我有一個(gè)多線程應(yīng)用程序,該程序在所有測(cè)試機(jī)上都非常穩(wěn)定,并且?guī)缀鯇?duì)我的每個(gè)用戶都是穩(wěn)定的(基于對(duì)崩潰的抱怨)。但是,該應(yīng)用程序經(jīng)常會(huì)崩潰,因?yàn)橐晃挥脩糇銐虬l(fā)送崩潰報(bào)告。所有崩潰報(bào)告(約10個(gè)連續(xù)報(bào)告)看起來(lái)基本相同:Date/Time:       2010-04-06 11:44:56.106 -0700OS Version:      Mac OS X 10.6.3 (10D573)Report Version:  6Exception Type:  EXC_BREAKPOINT (SIGTRAP)Exception Codes: 0x0000000000000002, 0x0000000000000000Crashed Thread:  0  Dispatch queue: com.apple.main-threadThread 0 Crashed:  Dispatch queue: com.apple.main-thread0   com.apple.CoreFoundation        0x90ab98d4 __CFBasicHashRehash + 33481   com.apple.CoreFoundation        0x90adf610 CFBasicHashRemoveValue + 12642   com.apple.CoreText              0x94e0069c TCFMutableSet::Intersect(__CFSet const*) const + 1263   com.apple.CoreText              0x94dfe465 TDescriptorSource::CopyMandatoryMatchableRequest(__CFDictionary const*, __CFSet const*) + 1154   com.apple.CoreText              0x94dfdda6 TDescriptorSource::CopyDescriptorsForRequest(__CFDictionary const*, __CFSet const*, long (*)(void const*, void const*, void*), void*, unsigned long) const + 405   com.apple.CoreText              0x94e00377 TDescriptor::CreateMatchingDescriptors(__CFSet const*, unsigned long) const + 1356   com.apple.AppKit                0x961f5952 __NSFontFactoryWithName + 9047   com.apple.AppKit                0x961f54f0 +[NSFont fontWithName:size:] + 39(....更多文字如下)首先,我花了很長(zhǎng)時(shí)間研究[NSFont fontWithName:size:]。我發(fā)現(xiàn)也許用戶的字體以某種方式被弄亂了,所以[NSFont fontWithName:size:]正在請(qǐng)求一些不存在的內(nèi)容,并且由于該原因而失敗。我使用[[NSFontManager sharedFontManager] availableFontNamesWithTraits:NSItalicFontMask]添加了一堆代碼來(lái)預(yù)先檢查字體可用性??杀氖牵@些更改并不能解決問(wèn)題?,F(xiàn)在,我注意到我忘記刪除一些調(diào)試斷點(diǎn),包括_NSLockError,[NSException提高]和objc_exception_throw。但是,該應(yīng)用程序肯定是使用“發(fā)布”作為活動(dòng)的構(gòu)建配置來(lái)構(gòu)建的。我假設(shè)使用“發(fā)布”配置可以防止設(shè)置任何斷點(diǎn)-但是,我再次不確定斷點(diǎn)是如何工作的,或者不確定是否需要從gdb中運(yùn)行程序才能使斷點(diǎn)生效。我的問(wèn)題是:我離開(kāi)斷點(diǎn)集后會(huì)導(dǎo)致用戶觀察到崩潰的原因嗎?如果是這樣,為什么斷點(diǎn)僅對(duì)這個(gè)用戶造成問(wèn)題?如果不是,還有其他人對(duì)[NSFont fontWithName:size:]有類似的問(wèn)題嗎?我可能會(huì)嘗試刪除斷點(diǎn)并發(fā)送回該用戶,但是我不確定該用戶剩下多少貨幣。而且,我想更廣泛地理解是否保留斷點(diǎn)設(shè)置可能會(huì)導(dǎo)致問(wèn)題(當(dāng)使用“發(fā)布”配置構(gòu)建應(yīng)用程序時(shí))。
查看完整描述

3 回答

?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊

“ EXC_BREAKPOINT(SIGTRAP)”異常是否由調(diào)試斷點(diǎn)引起?


否。實(shí)際上,反過(guò)來(lái):SIGTRAP(跟蹤陷阱)將導(dǎo)致調(diào)試器中斷(中斷)您的程序,就像實(shí)際斷點(diǎn)一樣。但這是因?yàn)檎{(diào)試器總是在崩潰時(shí)中斷,而SIGTRAP(就像其他幾個(gè)信號(hào)一樣)是崩潰的一種類型。


SIGTRAP通常是由引發(fā)NSExceptions引起的,但并非總是如此-甚至有可能直接自己引發(fā)。


現(xiàn)在,我注意到我忘記刪除一些調(diào)試斷點(diǎn),包括_NSLockError,[NSException提高]和objc_exception_throw。


這些不是斷點(diǎn)。其中兩個(gè)是函數(shù),-[NSException raise]是一種方法。


您是說(shuō)要在這些函數(shù)和方法上設(shè)置斷點(diǎn)嗎?


我假設(shè)使用“發(fā)布”配置可防止設(shè)置任何斷點(diǎn)-


沒(méi)有。


這些配置是構(gòu)建配置。它們影響Xcode構(gòu)建應(yīng)用程序的方式。


斷點(diǎn)不是構(gòu)建的一部分;您在調(diào)試器中設(shè)置它們。它們僅存在,只會(huì)被命中,并且只有在調(diào)試器下運(yùn)行程序時(shí)才停止程序。


由于它們不是構(gòu)建的一部分,因此不可能僅通過(guò)向他們提供應(yīng)用程序捆綁包就將斷點(diǎn)傳遞給用戶。


我不確定斷點(diǎn)是如何工作的……


當(dāng)您的程序到達(dá)斷點(diǎn)時(shí),調(diào)試器將中斷(中斷)您的程序,隨后您可以檢查程序的狀態(tài)并仔細(xì)向前查看程序如何出錯(cuò)。


由于是調(diào)試器停止程序,因此當(dāng)您不在調(diào)試器下運(yùn)行程序時(shí),斷點(diǎn)不起作用。


…或者是否需要從gdb內(nèi)部運(yùn)行程序才能使斷點(diǎn)生效。


是的 調(diào)試器斷點(diǎn)僅在調(diào)試器中起作用。


我的問(wèn)題是:我離開(kāi)斷點(diǎn)集后會(huì)導(dǎo)致用戶觀察到崩潰的原因嗎?


沒(méi)有。


首先,如前所述,即使這些斷點(diǎn)確實(shí)以某種方式傳遞到用戶的系統(tǒng)中,斷點(diǎn)也僅在調(diào)試器中有效。如果您的程序不在調(diào)試器下運(yùn)行,則調(diào)試器無(wú)法在斷點(diǎn)處停止。用戶幾乎可以肯定不在調(diào)試器下運(yùn)行您的應(yīng)用程序,尤其是因?yàn)樗麄儚谋罎⑷罩局凶N了該應(yīng)用程序。


即使他們與所有這些斷點(diǎn)設(shè)置的調(diào)試器下運(yùn)行你的應(yīng)用程序,當(dāng)你的程序到這一點(diǎn),這些斷點(diǎn)所以人們只能火災(zāi),如果你或可可稱為斷點(diǎn)只打了_NSLockError,-[NSException raise]或objc_exception_throw。達(dá)到這一點(diǎn)并不是問(wèn)題的原因,而是問(wèn)題的征兆。


而且,如果由于其中之一被調(diào)用而導(dǎo)致崩潰,那么崩潰日志中將至少有其中一個(gè)被命名。沒(méi)有。


因此,這與您的斷點(diǎn)無(wú)關(guān)(不涉及其他機(jī)器,調(diào)試器),也不是Cocoa異常-正如我提到的那樣,Cocoa異常是SIGTRAP的原因之一,但不是唯一的原因。您遇到了另一個(gè)。


如果不是,還有其他人對(duì)[NSFont fontWithName:size:]有類似的問(wèn)題嗎?


因?yàn)槟袛嗔吮罎⑷罩?,所以我們無(wú)法說(shuō)出我們遇到的任何問(wèn)題是否相似。我們對(duì)于崩潰發(fā)生的背景一無(wú)所知。


唯一值得刪除的是“二進(jìn)制映像”部分,因?yàn)槲覀儧](méi)有您的dSYM軟件包,這意味著我們無(wú)法使用該部分來(lái)表示崩潰日志。


另一方面,您可以。我為此目的編寫(xiě)了一個(gè)應(yīng)用程序;將崩潰日志提供給它,并且它應(yīng)該自動(dòng)檢測(cè)dSYM軟件包(您為分發(fā)的每個(gè)Release版本保留dSYM軟件包,對(duì)嗎?),然后將函數(shù)和方法名恢復(fù)到堆棧跟蹤中,無(wú)論函數(shù)和方法出現(xiàn)在何處。


查看完整回答
反對(duì) 回復(fù) 2019-11-11
?
三國(guó)紛爭(zhēng)

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超7個(gè)贊

此用戶極有可能安裝了損壞的字體。堆棧跟蹤絕對(duì)支持該假設(shè),事實(shí)上它僅影響一個(gè)用戶。

在這種情況下,除了讓用戶刪除有問(wèn)題的字體外,您無(wú)能為力,因?yàn)楸罎l(fā)生在Apple代碼的深處。

嘗試讓用戶在“字體書(shū)”中運(yùn)行字體驗(yàn)證。為此,請(qǐng)啟動(dòng)“字體書(shū)”,在源列表中單擊“ 所有字體 ”,然后選擇所有列出的字體。然后,您可以從“ 文件”菜單中選擇“ 驗(yàn)證字體 ” 。


查看完整回答
反對(duì) 回復(fù) 2019-11-11
  • 3 回答
  • 0 關(guān)注
  • 4333 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)