Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
IOS¸÷ÖÖµ÷ÊÔ¼¼ÇɺÀ»ªÌײͣ¨ÉÏ£©
 
×÷ÕߣºDavidDay À´Ô´£º²©¿ÍÔ° ·¢²¼ÓÚ£º 2015-05-12
  2581  次浏览      28
 

ǰÑÔ

×î½ü²©Ö÷ÁÙ½ü±ÏÒµ¼¾£¬ÎªÁËÍêÃÀµÄдһƪ±ÏÒµÂÛÎÄ£¬ÕæÊÇ£º¡°³úºÌÈÕµ±Î磬º¹µÎºÌÏÂÍÁ¡±<¡ª¡ª Õâ¾äÊ«¸ú±ÏÒµÎÒд±ÏÒµÂÛÎÄûÈκÎһëǮ¹ØÏµ£¬ÎÒ¾ÍÊÇͻȻÏëÒ÷ʪÁË¡£²»¹ý²©Ö÷×÷ÎªÍøÂ繤³ÌרҵµÄºÃÇàÄê£¬Ôø¾­µÄÔ¸ÍûºÍÀíÏë¾ÍÊÇÔÚÏÂË®µÀ¸É³öÒ»·¬ºäºäÁÒÁҵĴóÊÂÒµ£¬Ã»´íÊǾÍÊÇÏÂË®µÀ£¬ÎÒÃǵÄÕ÷;ÔÚÏÂË®µÀ£¡£¡²»¹ý´ó¼Ò±ðÎó»á£¬ÎÒ²»ÊÇÈÌÕß¹êµÄÄԲзۣ¡ÌýÎÒ¼ÌÐøËµ£¡ÎÒÏëµÄÊǵÈÎÒÔÚ¸÷´óÅÅˮϵͳ¸÷´óÏÂË®µÀ¹¦³ÉÃû¾ÍµÄʱºò£¬ÎҾͿÉÒÔÖ¸×ÅÒ»¸ö¾®¸Ç¶ÔÎÒµÄËï×Ó˵£º¡°Åµ ÄǸöÏÂÃæµÄͨÐŹâÀÂÊÇÒ¯Ò¯Îҽӵģ¡£¡¡± ÎÒÂúÁ³×ÔºÀµØ½ÓÊÜ×ÅÕâËï×ӵľ´Ñö£¡µ«Êǰ¡£¬Ôø¾­µÄÔ¸Íû¶¼ÊµÏÖ²»ÁËÁË£¬ÎÒÉîÉî°®×ŵĵØÏÂͨÐŹâÀ°¡£¬Ôø¾­¶àÉÙ¸öÒ¹ÍíÀáË®´òʪÁËÎҵıÏÒµÂÛÎÄ£¬äÖȾ¿ªµÄ±ÊÄ«ÄǶ¼ÊǸçÊÅÈ¥µÄÇà´º°¡¡£

ÒòΪÉú»î¾ÍÏñ¿ªÁ˲©Ö÷Ò»¸öÍæÐ¦£¬Èò©Ö÷Óöµ½ÁËÒ»ÖÖ¼¦£¬ÄÇÊÇÒ»ÖÖÌØÊâÆ·Öֵ念¬Ëü½Ð×ö±ÆÓż¦£¡£¡¾ÍÊÇÕâÖ»¼¦Èò©Ö÷ÎÞÔµÎ޹ʵijÉÁËÒ»Ö»APM³¬200µÄÒ°Éú¾¿¼«³ÌÐòÔ³£¡£¡ºð~ à»~£¬°Ñ²©Ö÷´øÀëÁËÏÂË®µÀ£¡²¢ÇÒÓëÕâÖ»¼¦Ì¤ÉÏÁíÒ»¶ËÕ÷;£¡ÁÙ×ßµÄʱºò£¬ÏÂË®µÀµÄͨÐŹâÀ¾ͽ»¸øÄãÃÇÁË£¬·ÊÔí»ùÓÑÃÇ(ÍøÂ繤³ÌµÄ»ùÓÑÃÇ)£¡£¡ÎÒ¿¿£¬ËûÃǾ¹È»ÔÚ´òÓ¡µê»¨ÁË50¿éÇ®¾ÍÖ±½ÓÂòÁËÒ»Ì×Éî¶ÈºÀ»ª±ÏÒµÂÛÎÄÌײͣ¡ÀïÃæ°üº¬ÁËÂÛÎÄ£¬¹¤³ÌÖÆÍ¼£¬CAD£¬±¨¼ÛÇåµ¥£¬ÍØÆË½á¹¹¡­¡­×îÖØÒªµÄÊÇÀϰå³Ðŵ²»ÐèÈκÎÐ޸ģ¬Ö±½Ó¿ÉÒÔͨ¹ý±ÏÒµ´ð±ç£¬²»Í¨¹ýÀ´ÄêÃâ·ÑÔÙÌṩһÌ×ÂÛÎÄ£¬×îÌùÐĵÄÊǾ¹È»Ö§³Öͨ¹ýÔÙ¸¶¿î£¡£¡£¬

ͼ1

ÀÏ×ÓдÂÛÎÄдÁ˰ë¸öÔÂÏñ¹·Ò»Ñù£¬ËûÃǾ¹È»Ö±½Ó¾ÍÂòÁË£¡¾ÍÕâôÂò¹ýÈ¥ÁË£¡£¡¶ÔµÃÆðÀÏʦµÄ×»×»½Ì»å¡¢×Ô¼ºµÄÐÁ¿à¸¶³öºÍ¸¸Ä¸µÄÆÚ´ýô£¿ÎÒ¾ÍÎÊÄãÃDzÑÀ¢²»²ÑÀ¢£¿ÎªÊ²Ã´ÂòµÄʱºò²»º°ÉÏÎÒ£¿ÀáÒÑÌʸÉ~

±ÆÓż¦

ÖÕÓÚÀ´µ½ÁË´ó¼ÒÆÚ´ýµÄÕýƬ£¬½ñÌìÎÒ¾ÍÒªºÍ´ó¼Ò½²ÎҺͱÆÓż¦µÄ¹ÊÊ£¬±ÆÓż¦ËüÓÅÑŵ͵÷£¬ËüÉí²ÄÁáç磬²ØÄäÔÚºÚ°µ´¦£¬Ìô¶¯×ÅÎÒµÄÓûÍû£¡Ôø¶à¸öÈÕÒ¹²©Ö÷¶¼¡­¡­£¨²Á£¡ÄáÂ꣬±ÆÓż¦ÊÇʲô¹í£¿ËµºÃµÄ¼¼ÊõÎÄÕÂ?£©Í¬Ñ§ÄãÕæµÄ(bi¨¨)¼±£¬ÄãÏÈ×øÏ£¬ÏȰÑЬ×Ó´©ºÃ£¡ÎÒ˵µÄ±ÆÓż¦ËüµÄÓ¢ÎÄÃû½Ð×ö(Bug)£¬Ëüͦ(T)ÃÀ(M)µÄ(D)¡­¡­

¸è×гªµÄºÃ£º

¶àÉÙÔ³Ôø±»Ëü¶á×ßÄêÇáµÄÈÝÑÕ

¶àÉÙÔ³ÔøÔÚËüÃæÇ°ÁÁÃÅͺÁËÍ·

¶àÉÙBugÔø¾­ÉúÃüÖÐÀ´ÁËÓÖ»¹

¿ÉÖªÒ»ÉúÓÐÄãÎÒ¶¼ÅãÔÚÄãÉí±ß

ͼ2

ÎÞÊý¸öÒ¹ÍíÄã¾¾×ÅÍ··¢ºÍBug˺ҧµÄÇé¾°²©Ö÷¿ÉÒÔÌå»á£¬ËùÒÔÕâ´ÎµÄÕâÆªÎÄÕ²©Ö÷¾ÍÒª¸ø´ó¼ÒÕûÀíÒ»¸öµ÷½ÌIOS±ÆÓż¦µÄ·½·¨ºÀ»ªÌײͣ¡£¡·ÅÐÄ£¡¾ø¶ÔµÄÉî¶ÈºÀ»ª£¬ÒòΪÒѾ­¼ÓÈë¿ÏµÂ»ùºÀ»ªÎç²Í~¿È¿È~ÆäʵÊÇÒòΪ±ÆÓż¦(Bug)¶ÔÓÚÎÒÃDZϾ¹ÊdzýÁËÀÏÆÅÖ®ÍâµÚ¶þ¿ÉŵĴæÔÚ£¡ÎÒÃDZØÐëÒªÁ·¾ÍÍ­Í·Ìú±ÛÊ®°Ë°ãÎäÒÕ£¬¼ÀÁ·ÆæÃÅÇɼ¼¸÷ÖÖ´óɱ£¡·½¿ÉÓëÖ®ÖÜÐý²¢½«Ö®¼ßÃ𣡺㡸ú×Ų©Ö÷Ò»Æð×°±ÆÒ»Æð·É°É£¡£¡£¡£¡

µÚÒ»²½£º

ÎÒ¿´´ó¼ÒÅîÍ·¹¸ÃæµÄ¾ÍÖªµÀ´ó¼Ò¸Õ¸ÕÒ²²Ådebug»ØÀ´ £¬ÎÒÃǾÍÏÈд¸öhello worldѹѹ¾ª°Ñ£¡

µÚ¶þ²½

¡­¡­

Öª¼ºÖª±Ë °ÙÕ½²»´ù

´Ë´¦Îª´óÁ¿Copy£¡²»Ï²ÇëÅ磡

The software doesn't do something that the product specification says it should do.

The software does something that the product specification says it shouldn't do.

The software does something that the product specification doesn't mention.

The software doesn't do something that the product specification doesn't mention but should.

The software is difficult to understand, hard to use, slow, or in the software tester's eyes will be viewed by the end user as just plain not right.

ÎÒ²»ÊÇÓ¢ÎĽÌʦ£¬Çë´ó¼Ò×ÔÐÐÇл»¶àÓïÑÔÔĶÁģʽ¡£

Ò²»¹ÓÐÓÐÈË´Ö±©µÄ¶¨Òå ¡±Bug¾ÍÊÇ´íÎó¡°£¬³ýÁËÊÀ½çÉϵÚÒ»Ö»BugÊǷɽøÈ¥µÄÄÇÖ»³æ×ÓÍ⣬ÆäËûBugÎãÓ¹ÖÃÒÉÄǶ¼ÊdzÌÐòÔ±ÃÇ×Ô¼ºÉúÏÂÀ´µÄ£¡³ÌÐòÔ±ÃÇ×Ô¼º·¸µÄ´íÎó£¡Èç¹û˵һ¸öÈí¼þ×÷Æ·(Çë×ðÖØÄã×Ô¼ºµÄ×÷Æ·£¬²»Òªº°ËûÃÇ¡±²úÆ·¡±»òÕß¡±ÏîÄ¿¡±)ÊdzÌÐòÔ±ÃÇ×Ô¼ºµÄº¢×Ó£¬ÄÇôBug¾ÍÊÇÕâ¸öº¢×ÓµÄÉúµÄ²¡£¬Óв¡µÃÖΣ¬Ò©²»ÄÜÍ££¡Éú²¡Óи÷ÖÖÖÎÁÆ·½·¨£¬ÎïÁÆ£¬ÀíÁÆ£¬»¯ÁÆ£¬ÐÄÀíÁÆ¡­¡­ÄÇô¡°ÖÎÁÆ¡±BugÒ²ÊÇÓжàÖз½·¨µÄ£¡ÏÂÃæ²©Ö÷»áÒ»Ò»Áо٣¡³ÍÖÎÕâЩ¸öBug֮ǰ£¬²©Ö÷ÒªÏȰ¢À­°ÍÀ­Ò»·¬£¬Óöµ½BugÒ²ÊÇÒ»¼þ±È½ÏßÙÁ˹·Á˵ÄÊÂÇ飬ÄãÒªÖªµÀÈκÎÈ˶¼»áÉú²¡£¬Ã»ÓÐÀýÍ⣡ËùÓÐÈκδúÂë¶¼ÓÐBugÕâÊǶ¨Àí£¬ÎÒÃÇÊ×ÏÈÒª´ÓÐÄ̬É϶ËÕýBugÕâ¼þÊÂÇ飬ÎÒÃÇ¿ÉÒÔÀí½âΪȱº¶Ò²ÊÇÒ»ÖÖÃÀ£¬¾ÍÏñ°¢Óê˵µÄ¡°Ã»ÓÐÖåÎÆµÄ׿ďÊÇ¿Éŵģ¬Ã»Óа׷¢µÄÀÏÕßÊÇÈÃÈËÒź¶µÄ¡£Ã»ÓзÏÐæµÄÈËÉúÌ«ÀÛÁË£¬Ã»ÓзÏÐæµÄ´óµØÌ«¼·ÁË£¬ÑڸǷÏÐæµÄ¾Ù¶¯Ì«Î±Õ©ÁË¡£¡±DebugÊÇΪÁËÖ¤Ã÷³ÌÐòÓÐ´í£¬¶ø²»ÊÇÖ¤Ã÷³ÌÐòÎÞ´íÎó£»ËùÒÔÎÒÃÇÒª×öµ½ÁÙBug¶ø²»¾åÕß,Ê¥ÈËÖ®ÓÂÒ²£¡ËùÒÔÎÒÃÇÒª×öµ½Õ½ÂÔÉÏÃêÊÓËü£¬Õ½ÊõÉÏÖØÊÓËü£¡ÄãÒªÐÄÀíĬÄîBugÆäʵͦ(T)ÃÀ(M)µÄ(D)!anyway ÎÞBug²»Éú»î£¡£¡

³éµ¶¶ÏBug

¶Ïµã£¬£¨ÎÒÇóÄãÃDz»ÒªÏëµ½Õž´Ðù£¬°¢ÐùËûÈÝÒ×ô£¬Ð¡ÊÜÓÖÔõôÁË£¿ÄãÃÇÕâ°ïÈËÕæÊǵģ¡£¡£©£¬ÎÒҪ˵µÄ¶ÏµãÊÇBreakPoint£¡»ù±¾Éϲ»ÊDzзϵÄIDE¶¼¾ßÓжϵãµ÷ÊÔ¹¦Äܰɣ¡ÓÈÆäÊÇXCode£¬ÎÒÃǼҵÄIDE¶Ïµãµ÷ÊÔ¹¦ÄÜ¿ÉÊÇÇ¿ÖÐÓÖÊÇÇ¿ÖÐÊÖ£¡ÔÚÕâ֮ǰ´ó¼Ò¿ÉÒÔÏÈÁ˽âһϹþ×ÓÊǶϵ㣿ËüÔõôʵÏֵģ¿¹¤×÷Ô­ÀíÔõôÑùµÄ£¿²©Ö÷¾ÍÏ׳ó˵˵×Ô¼ºµÄÀí½â°É£¬¶Ïµã£¬¹ËÃû˼Òå¾ÍÊÇ´ÓǰÓÐÒ»¸öµã£¬ºóÀ´Ëü¶ÏÁË£¬Ð»Ð»£¬ÎҵĹÊʽ²ÍêÁË¡£°¥Ó´»¹²»·þ£¬ÕâЩ»ù´¡³£Ê¶µÄ¶«Î÷×Ô¼º²»»á²é£¿Äã»¹ÕæµÄÁ³Æ¤ºñÉÏÌìÁËÈ¥ÁË£¬»¹Òª²©Ö÷¸øÄã²éÓ´£¬×Ô¼º²éÈ¥£¡

ÆÕͨ²Ù×÷

Èçͼ3

»ù±¾µÄ¶Ïµã²Ù×÷ÈçÏÂ

ͼ4

µã»÷ÄǸöºÚÁÐÁоʹ´½¨ÁËÒ»¸ö¶Ïµã£¬Ôٴεã»÷¾ÍÁÙʱȡÏûÕâ¸ö¶Ïµã(µ«ÊDz»É¾³ý)£¬³¤°´ÄǸö¶ÏµãÍϳöÈ¥¾Íɾ³ýÁË(mac osµÄϵͳ¹¤³Ìʦ¾ÍÊÇÏ¡·¹Í϶¯µÄ¿ì¸Ð)£¬µ±È»Ò²¿ÉÒÔÓÒ¼üÄǸö´´½¨µÄ¶Ïµã£¬»áµ¯³öÏàÓ¦µØ²Ëµ¥¡£

µ±È»Ò²»¹¿ÉÒÔ¼àÊÓij¸ö±äÁ¿£¡

ͼ5

ÔÚ¶ÔÏóÊÓͼÖУ¬ÓÒ¼üij¸ö¶ÔÏ󣬵ã»÷¡°Watch ¡®XXX¡¯¡±¾ÍÍê³ÉXXX¶ÔÏóµÄ¼àÊÓÁË¡£

ÕâÀïÎÒ¼àÊÓÁËlabÕâ¸öUILabelµÄ±äÁ¿£¬Ã¿µ±Õâ¸ö±äÁ¿½øÐиüÐÂËüµÄÐÅÏ¢¾Í»á±»´òÓ¡µ½¿ØÖÆÌ¨¡£

ºÃ°É£¡ÎÒÃÇ×î»ù±¾µÄ´´½¨¶ÏµãµÄ¹¤×÷ÒѾ­Ñ§»áÁË£¬XcodeÊæ·þÔÚʲôµØ·½ÄØ£¿¾ÍÊDz»·ÖDebugģʽºÍRunģʽµÄ£¬¿ÉÒÔ˵ÊÇÎÞ·ìÇл»µÄ£¬ÄãֻҪûÓд´½¨¶Ïµã£¬ÄÇô¾ÍÊÇRunµÄÕý³£Ä£Ê½£¬Èç¹û´´½¨Á˶ϵ㲢ÇÒÔËÐе½¶Ïµã´¦£¬¾Í×Ô¶¯½øÈëDebugģʽ¿©£¬²»ÏñijEC¿ªÍ·µÄIDE£¬¿ØÖÆÃæ°å¾ÍÏñ¿ª·É»úµÄÒ»Ñù£¬¼¸Íò¸ö°´Å¥ÒÔΪºÜÇ¿´ó£¬ÆäʵֻÓÃÁËRunºÍStop£¬»¹ÓÐʲôDebugģʽ£¬Appģʽ¡­¡­£¬¹ûÈ»XcodeµÄÓÅÔ½¸ÐÔÚ¶Ô±ÈÖиü¼ÓÇ¿ÁÒÁË£¬Êæ·þµ½¼«µãѽ£¬¾ÍÏñÏÄÌìµÄº£·ç·÷¹ý¾Õ»¨£¬àÅÊÇµÄ ¾ÍÊÇÄÇÖָоõ£¡

ÎÒÃÇ´´½¨ºÃÁ˶ϵ㣬ÔËÐе½¶Ïµã¾Í×Ô¶¯Í£ÏÂÀ´ÁË£¬ÏñÕâÑù£º

ͼ6

ÕâЩDebugµÄ×î»ù±¾²Ù×÷¼¼ÄÜÊÇÿһ¸öÈëÃŵÄIOS¿ª·¢Õß¶¼ÒªÕÆÎյģ¬Ó¦¸Ãµ±³ÉÒ»ÖÖ±¾ÄÜ£¬¾ÍÏñ¹·°®³ÔÏèÒ»Ñù(àÞ ¶Ô²»Æð ²©Ö÷²»ÊÇÆçÊÓ¹·µÄÒâ˼£¬²©Ö÷Ò²Ñø¹ý¹·£¬ºÜ¶þ±Æµ«ÊÇ´Ó²»³ÔÏè£¡ÕæµÄ¾ÝÎÒËùÖªËü´ÓÀ´²»³ÔÏèµÄ£¬ÕâÀïÖ»ÊDZÈÓ÷Ö»ÊDZÈÓ÷)¡£

È«¾Ö¶Ïµã£¨Global BreakPoint£©

ÓÐʱºòÔÚ³ÌÐò³ö´íµÄʱºò²»ÄÜÄÜ׼ȷ¶¨Î»µ½±¼À£µÄÄÇÒ»ÐдúÂë,¶øÊÇÖ±½ÓÅܵ½mainÑ­»·»òÕßAppdelegateÀïÃæ£¬ »òÕß»á¸øÄãÕâÑùµÄÌáʾ£º

EXEC_BAD_ACCESS£º

ÊDz»ÊÇÓÐÖÖÏë¿ÞµÄ³å¶¯£¿ÄáÂê~ÖÁÉÙ¸øÎÒһЩ¶ÑÕ»ÐÅÏ¢Ò²ºÃѽ~¡­¡­Õâ¸öʱºòÄãǧÍò²»ÒªÔÒÊó±êºÍ¼üÅÌŶ£¬Ò»Çж¼ÊÇÖ÷»úÔÚÔËÐУ¬ÄãÔÒÊó±êºÍ¼üÅÌÓÐʲôÓÃÄØ£¿Ó¦¸ÃÊÇÌßÖ÷»úѽ~~£¬ÏÖÔÚÓÐÁËÈ«¾Ö¶Ïµã£¬ÄïÇ×ÔÙÒ²²»µ£ÐÄÄãÔÒÊó±êÁË£¬ÄãÖ»ÐèÒªÕâÑù£º

ͼ7

ÔÚDebugµ¼º½Ãæ°å½øÐÐÉÏͼµÄ²Ù×÷£¬Äã¾Í½¨Á¢ÁËÈ«¾Ö¶Ïµã£¬ÕâÑùÖ»ÒªÓöµ½´íÎó£¬debug³ÌÐò¾Í»á×Ô¶¯¶¨Î»µ½Õ»µ×µÄÐÅÏ¢£¬Ò²¾ÍÊÇÄã×îÏȳö´íµÄ´úÂëµÄÄÇÒ»ÐУ¬ÕâÑùÄã¾Í¿ÉÒÔ¿ìÀÖµÄdebugÀ­~~

Ìõ¼þ¶Ïµã(Condational Breakpoints)

´ÓǰÓÐÒ»¸öÓÎÏ·£¬½Ð×öߣ°¡ß££¬ÓÐÐ©Íæ¼ÒËûÃÇÖªµÀÔõô²Ù×÷£¬»á·Å¼¼ÄÜ»á×ß·£¬µ«ÊÇËûÃDz»ÖªµÀÂò×°±¸£¬ÍæÁËÒ»¾ÖÏÂÀ´£¬Ð¬×ÓСµ¶¶¼Ã»ÓÐÂò¡£ÎÒΪʲô½²Õâ¸ö¹ÊÊÂÄØ£¿ÒòΪºÜ¶àСÅóÓÑѧ¶«Î÷ºÍÍæÓÎÏ·Ò»Ñù£¬¿´ÍêÇ°ÃæµÄ¼¸ÖÖµ÷ÊÔ¼¼ÄÜ£¬¾ÍÒÔΪ×Ô¼ºÒѾ­ŒÅ±¬ÎÞµÐÁË£¬ÆäʵËûÃDz»¹ýÊdzöÃŲ»´ø×°±¸µÄÍæ¼Ò£¬Èç¹ûÖ»ÊÇʹÓÃÁËÒÔÉϵĵ÷ÊÔ¼¼ÄÜÖ»ÄÜ˵ÊǵÍÍæ£¬ÔڸߴóµÄ±ÆÓż¦ÃæÇ°¸ù±¾¾ÍÊǻᱻ˲ÃëµÄÄÇÖÖ£¬ËùÒÔѧ»á×°±¸×Ô¼º²ÅÊÇÍõµÀ£¡Ìõ¼þ¶Ïµã£¬¾ÍÊÇѧ»áÓеķÅʸ£¡

ÎÒÃÇÀ´¿´Ò»¶Î´úÂë

ͼ8

ÄãÊDz»ÊÇÏëÎʲ©Ö÷ΪºÎÄÇô·çɧ£¬¾¹È»ÉÏÁËSwiftÁË£¡£¡ÎÒ´Ë¿ÌÖ»ÏëÒ÷Ò»Ê×ʪ£º±ðÈËЦÎÒÌ«Òùµ´£¬ÎÒ¼ÒסÔڻƺ×Â¥¡£

·´ÕýÕâ¸öÄê´ú´ó¼Ò¶¼ÊdzԱ¥Á˳Å×ŵ쬲©Ö÷Ò²ÊÇ£¬ËùÒÔ¾ÍѧѧSwift¿©¡£

ÎÒÃÇÈç¹ûÔÚÒ»¸öÑ­»·ÀïÃæÊ¹ÓÃÁ˶ϵ㣬Èç¹ûÕâ¸öÑ­»·Ö´ÐÐÁË100Íò´Î£¬ÄÇÄãµÄ¶ÏµãÒªÖ´ÐÐÄÇô¶à´Î£¬Äã²»¾õµÃµ°µ°¶¼Á¹Á˵ÄÓÇÉËô£¿ËùÒÔÎÒÃÇÕâô×ö£º

ͼ9

ÕâÑùÖ»ÓбéÀúµ½c==¡°H¡±µÄʱºò ¶Ïµã²Å»á±»´¥·¢¡£

ͼ10

ÊDz»ÊǺܰôÄØ£¡

ÓÐЩͯЬµÄîѺϽð¹·ÑÛÒѾ­¿´µ½Á˱༭¶ÏµãÄÇÀïÓÐÒ»¸öActionµÄ¶«Î÷£¬ÄÇÊÇÊ²Ã´ÄØ£¿

Õâ¸öÊǷdz£Ç¿´óµÄ£¬¿ÉÒÔÔÚÄã¶ÏµãµÄλÖã¬Ö´Ðи÷ÖÖ²Ù×÷£¬±ÈÈçÖ´Ðнű¾ÃüÁ¿ØÖÆÌ¨ÃüÁî(¿ÉÒÔÖÆ¶¨µ÷ÊÔÐÅÏ¢×Ô¶¨Òå±£´æ)¡¢´òÓ¡ÐÅÏ¢µÈ£¬
²©Ö÷×îϲ»¶µÄ¾ÍÊÇÕâ¸öLog messageÀ²£¬¼òµ¥´Ö±©£¡¸ù±¾¾Í²»ÐèÒªprint°¡NSLogÂֱ½ÓÔڶϵãµÄAction´òÓ¡¾ÍºÃÁË£¨ÆäʵÕâ¸öÊÇXcodeºÍµ÷ÊÔÆ÷½áºÏµÄ¸ßÄܲúÎÏÂÃæÔÙ½éÉÜ£©¡£¾ßÌå¿ÉÒÔÕâÑù£º

ͼ11

Æäʵ¸Õ¸Õ²©Ö÷Èö»ÑÁË£¬²©Ö÷×îϲ»¶µÄAction²¢²»ÊÇLog Message£¬¶øÊÇSound£¬¹ËÃû˼ÒåÂ¶ÏµãÉäÔÚBugÉÏ£¬ÕâÑùÓöµ½¶Ïµã¾Í»á·¢³öÉùÒô£¬Ìýµ½ÎÒ×Ô¼ºÉèÖõÄÉùÒô£¬ÎÒ¾ÍÖªµÀÊÇʲôBugÁË£¬ÌýÉùʶBug£¬ºÇºÇ£¬EXEC_BAD_ACCESSµÄ´íÎóÎÒÉèÖóÉÁ˲¨¶àÒ°ÀÏʦµÄÉùÒô£¬unrecognized selector send to instancdµÄ´íÎóÎÒÉèÖóÉÁ˲ÔÀÏʦµÄ¡­¡­ ²»ÒªÎÊÎÒϵͳÔõôûÓмªÔóÃ÷²½µÄÉùÒô£¬ÎÒ¸ù±¾¾Í²»ÖªµÀË­ÊǼªÔóÃ÷²½¡£

µ±È»»¹Óиü¼ÓÇ¿´óµÄÌõ¼þ¶Ïµã¾ÍÊÇÕâ»õÀ²

ͼ12

Ìí¼ÓÖ®ºóÔÚ Symbol Ò»À¸ÊäÈë viewDidLoad¡£

ÕâÑùÒ»À´£¬ÔÚ³ÌÐòÖÐËùÓÐµÄ viewDidLoad ·½·¨±»µ÷ÓÃʱ¶¼»á´¥·¢¶Ïµã¡£

ͼ13

µ±È»£¬ÎÒÃÇÒ²¿ÉÒÔ½ö½öÎªÌØ¶¨µÄij¸öÀàµÄ·½·¨Ìí¼Ó¶Ïµã¡£ÔÚ Symbol Ò»À¸ÊäÈë [ClassName viewDidLoad] (Objective-C) »ò ClassName.viewDidLoad (Swift) ¼´¿É¡£

±ÈÈ磺unrecognized selector sent to instance 0xaxxxx ÕâÖÖ´íÎó£¬Õâ¸öinstance¿ÉÒÔÕâÑù¿ìËÙ¶¨Î»

ͼ14

´òÓ¡µÄÒÕÊõ

¾¡¹ÜARCÒѾ­ÈÃÄÚ´æ¹ÜÀí±äµÃ¼òµ¥¡¢Ê¡Ê±ºÍ¸ßЧ£¬µ«ÊÇÔÚobjectµÄlife-cyclesÖиú×ÙÒ»Ð©ÖØÒªÊ¼þÒÀȻʮ·ÖÖØÒª¡£±Ï¾¹ARC²¢Ã»ÓÐÍêÈ«ÅųýÄÚ´æÐ¹Â¶µÄ¿ÉÄÜÐÔ£¬»òÕßÊÔͼ·ÃÎÊÒ»¸ö±»releaseµÄ¶ÔÏó¡£ÎªÁËÕâ¸öÄ¿µÄ£¬ÎÒÃÇ¿ÉÒÔºÜÒÕÊõµØÍµ¿ú¶ÔÏóÕýÔÚ×öЩʲô£¬ÏëÏë¾ÍºÃÓпì¸Ð¡£

NSLog

С»ï°éÃǵÚÒ»½Ú¿ÎѧϰViewControllerµÄÉúÃüÖÜÆÚµÄʱºò£¬ÀÏʦ¿Ï¶¨ºÜâ«ËöµÄ½ÌÁË´ó¼Ò£¬ÔÚviewControllerµÄÿ¸öÉúÃüÖÜÆÚµÄ·½·¨ÖÐʹÓÃÁËNSLogÀ´Íµ¿ú£¡Ã»´í£¬ÕâÑùÆäʵ¾ÍÊÇ×î¼òµ¥±¬Õ¨µÄ¸ú×ÙÉúÃüÖÜÆÚµÄ·½·¨ÁË£¬²»¹ýϵͳ×Ô¼ºµÄNSLogÕæÐÄÓеãÙúÈõ£¬Êä³öµÄÐÅϢ̫ÉÙ£¬¸ù±¾¾Í²»ÄÜÂú×ãÎÒÃǵÄÓûÍû£¬ÕâÀïÎҽ̴ó¼ÒÇ¿»¯ÄãµÄLog£¡£¡

¿ÉÒÔÓÃÏÂÃæµÄÕâ¶Îºê

//A better version of NSLog
#define NSLog(format, ...) do { \
fprintf(stderr, "<%s : %d> %s\n", \
[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], \
__LINE__, __func__); \
(NSLog)((format), ##__VA_ARGS__); \
fprintf(stderr, "-------\n"); \
} while (0)

¹ØÓÚºêµÄÍþÁ¦ ´ó¼Ò¿ÉÒÔÂÒÈëÎҵIJ©ÎÄ¡¶ IOSÖеÄÔ¤±àÒëÖ¸ÁîµÄ³õ²½Ì½¾¿¡·

ÕâÑù´òÓ¡³öÀ´µÄ¶«Î÷²ÅÏñ»°Âï(ÆäʵNSLogµÄ´òÓ¡ÊǷdz£µÍЧµÄ£¬ÉõÖÁ±ÈprintµÍ100±¶£¬¸ÐÐËȤ×Ô¼º·­·­Æ»¹ûÊֲῩ)¡£

ʹÓÃobjcÓïÑÔ(Ç¿ÀàÐÍ)²¢ÇÒÓÃNSLog´òÓ¡µÄʱºò£¬³£³£¸ã²»Çå³þNSLog(@¡°%?¡±,xxx) xxxÕâÖÖÀàÐ͸ÃÊÇʲôʲôÀàÐÍÊä³ö£¬Ó¦¸ÃÊÇ%dÄØ»¹ÊÇ%@Òà»òÊÇ%f£¿£¿£¿ÉµÉµ·Ö²»Çå³þ~£¬ËùÒÔÍæ×ªNSLogÄãÓ¦¸ÃÒªÖªµÀÒÔÏÂÕ⼸¸öÈ«¾Ö·½·¨£¡

ͼ17

¿ªÆô½©Ê¬¶ÔÏó(Enable NSZombie Objects)

Xcode¿ÉÒÔ°ÑÄÇЩÒѾ­releaseµôµÃ¶ÔÏ󣬱ä³É¡°½©Ê¬¡±£¬µ±ÎÒÃÇ·ÃÎÊÒ»¸öZombie¶ÔÏóʱ£¬Xcode¿ÉÒÔ¸æËßÎÒÃÇÕýÔÚ·ÃÎʵĶÔÏóÊÇÒ»¸ö²»Ó¦¸Ã´æÔڵĶÔÏóÁË¡£ÒòΪXcodeÖªµÀÕâ¸ö¶ÔÏóÊÇʲô£¬ËùÒÔ¿ÉÒÔÈÃÎÒÃÇÖªµÀÕâ¸ö¶ÔÏóÔÚÄÄÀÒÔ¼°ÕâÊÇʲôʱºò·¢ÉúµÄ¡£

ËùÒÔZombiesÊÇÄãµÄºÃ»ùÓÑ£¡Ëû¿ÉÒÔÈÃÄãÊä³öµÄÐÅÏ¢¸ü¾ßÌ壡£¡

¾ßÌåÕâÑù×ö£º

ͼ15

×Ô¼ºÔÙÊÔÊÔÊä³öObjectµÄÐÅÏ¢¿©£¬ÊDz»ÊǺܰôÄØ£¿

½©Ê¬Ö»ÄÜÓÃÔÚÄ£ÄâÆ÷ºÍOCÓïÑÔŶ~

   
2581 ´Îä¯ÀÀ       28
 
Ïà¹ØÎÄÕÂ

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖÓë̽ÌÖ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
 
Ïà¹ØÎĵµ

Android_UI¹Ù·½Éè¼Æ½Ì³Ì
ÊÖ»ú¿ª·¢Æ½Ì¨½éÉÜ
androidÅÄÕÕ¼°ÉÏ´«¹¦ÄÜ
Android½²ÒåÖÇÄÜÊÖ»ú¿ª·¢
Ïà¹Ø¿Î³Ì

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
Androidϵͳ¿ª·¢
AndroidÓ¦Óÿª·¢
ÊÖ»úÈí¼þ²âÊÔ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

androidÈË»ú½çÃæÖ¸ÄÏ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
AndroidÊÖ»ú¿ª·¢£¨¶þ£©
AndroidÊÖ»ú¿ª·¢£¨Èý£©
AndroidÊÖ»ú¿ª·¢£¨ËÄ£©
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖ̽ÌÖ
ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
ÊÖ»úÈí¼þ×Ô¶¯»¯²âÊÔÑо¿±¨¸æ

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
AndroidÓ¦Óÿª·¢
Androidϵͳ¿ª·¢
ÊÖ»úÈí¼þ²âÊÔ
ǶÈëʽÈí¼þ²âÊÔ
AndroidÈí¡¢Ó²¡¢ÔÆÕûºÏ

ÁìÏÈIT¹«Ë¾ android¿ª·¢Æ½Ì¨×î¼Ñʵ¼ù
±±¾© Android¿ª·¢¼¼Êõ½ø½×
ijÐÂÄÜÔ´ÁìÓòÆóÒµ Android¿ª·¢¼¼Êõ
ijº½Ì칫˾ Android¡¢IOSÓ¦ÓÃÈí¼þ¿ª·¢
°¢¶û¿¨ÌØ LinuxÄÚºËÇý¶¯
°¬Ä¬Éú ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
Î÷ÃÅ×Ó Ç¶Èëʽ¼Ü¹¹Éè¼Æ