আইফোন সিমুলেটর দ্বারা তৈরি ক্রাশ লগগুলি?


97

আইফোন সিমুলেটার দ্বারা উত্পাদিত কোনও ক্র্যাশ লগ আছে?

সিমুলেটরটি অনেকগুলি ক্র্যাশ করেছে তবে কনসোলে কোনও চিহ্ন ছাড়েনি ... ক্রাশ লগটি কার্যকর হবে।


4
আপনার কেন ক্র্যাশ লগ দরকার তা আমি বেশ বুঝতে পারি না। যখন সিমুলেটারের অ্যাপটি ক্রাশ হয়ে যায় তবে আপনি ডিবাগিং বন্ধ করার আগে, জিডিবি প্রম্পটে "ব্যাকট্র্যাস" এর জন্য "বিটি" টাইপ করুন - আপনি ক্র্যাশ লগে ঠিক কী উপস্থিত হবে তা পেয়ে যাবেন। (বুঝতে পারিনি যে এখানে প্রশ্নে ক্ষোভ রয়েছে, পোস্ট বছরটি মিস হয়েছে)
ম্যাথু ফ্রেডরিক

4
ক্র্যাশ যদি কেবল তখন ঘটে থাকে যখন আপনি ডিবাগার দ্বারা সংযুক্ত না হয়ে থাকেন তবে আপনার লগগুলি প্রয়োজন।
Ian1971

তুমি ঠিক বলছো. এই বোধগম্য!
র‌্যাপ্টর

আপনি এক্সকোডের (সেন্টিমিডি -8) "রিপোর্ট ন্যাভিগেটর" -তে ডিবাগ লগ (lldb কমান্ডের আউটপুট সহ) দেখতে পারেন। এটি পূর্ববর্তী রানগুলির জন্যও ডিবাগ আউটপুট দেখার জন্য দরকারী। যদি ডিবাগারটি সংযুক্ত না করা হয়, তবে এটি স্পষ্টতই কাজ করবে না।
সেবাস্তিয়ান মার্টিন

4
ডিবাগ লগ ক্র্যাশ লগের মতো নয়, যদিও উভয় লগই সমস্যাটি ডিবাগ করার জন্য কার্যকর।
র‌্যাপটার

উত্তর:


159

কনসোল NSLog()সিমুলেটারে চলমান একটি অ্যাপ্লিকেশন থেকে আউটপুট প্রদর্শন করবে । ক্র্যাশ লগগুলি ফাইলটিতে সংরক্ষণ করা হয়।

আমি আমার হোম ডিরেক্টরিতে কিছু নীচে পেয়েছি

~/Library/Logs/DiagnosticReports/

তাদের একটি ফাইল এক্সটেনশন রয়েছে .crash

আমি এখনও কিছু আবিষ্কার করতে পারি নি যে ডিবাগার EXC_BAD_ACCESSসিগন্যালটি ধরে ফেললেও কীভাবে তাদের উত্পন্ন করতে হয় ।


হালনাগাদ

এমুলেটর নিজেই ক্র্যাশ~/Library/Logs/DiagnosticReports হলে বর্তমানে (ওএসএক্স 10.11.6) .ক্র্যাশ লগ ইন হয় । একটি অ্যাপ ক্রাশ হওয়ার জন্য লগগুলি (তবে এমুলেটর ডিভাইসটি এখনও ঠিক চলছে), এগুলিতে রয়েছে:

। / গ্রন্থাগার / লগস / কোরসিমুলেটর

ক্র্যাশ প্রতি, একটি অনন্য আইডি সহ একটি উপ-ফোল্ডার আছে। তারিখ অনুসারে বাছাই করুন, যাতে আপনার সাম্প্রতিক ক্রাশটি প্রথম উপ-ফোল্ডার। এর ভিতরে, দেখে stderr.logএবং শুরু করে system.log

এছাড়াও সরাসরি অধীনে CoreSimulator, দেখুন CoreSimulator.logএবং Simulator.log


এই ধারণাগুলি কনসোলে প্রদর্শিত না হওয়ার পরিবর্তে ফাইলগুলিতে কেন লিখিত হয় কোনও ধারণা? তথ্য, বিটিডব্লিউ জন্য ধন্যবাদ।
জল

11
আইফোন বা আইপ্যাড সিমুলেটরে আমার ক্র্যাশ রিপোর্টগুলির কোনওটিই এই ডিরেক্টরিতে প্রদর্শিত হচ্ছে না, সম্ভবত এই উত্তরটি আপডেট করার প্রয়োজন আছে?
জাস্টিন

4
সম্ভবত এটির কোনও আপডেটের দরকার আছে, তবে উত্সাহ দেওয়ার পক্ষে একটি ডাউন ভোট খুব ভদ্র উপায় নয়।
ওহোরব

4
আমি উল্লিখিত ডিরেক্টরিটিতে ক্র্যাশ প্রতিবেদনটি পেয়েছি, তবে কেবলমাত্র একটি প্রতিবেদন ছিল এবং এটি সাম্প্রতিকতম কোনও নয় (যেমন, আমি অ্যাপটিতে কয়েকটি জিনিস চেষ্টা করে চলেছি এবং এটি ক্র্যাশ করে চলেছে)। ক্র্যাশগুলি সব একই ছিল, সুতরাং এটি কোনও সমস্যা ছিল না, তবে আমি ভাবছি যে এটি কি সাধারণত হয়?
সামিক আর

10
জাস্টিন এবং ওহোরোব উভয়ই সঠিক। এক্সকোড ছাড়াই আপনাকে সিমুলেটারে অ্যাপটি চালু করতে হবে এবং লগ ইনগুলি দেখতে ক্র্যাশটি পুনরুত্পাদন করতে হবে~/Library/Logs/DiagnosticReports/
ডেভ চেম্বারস

20

আমি নিশ্চিত যে আপনি এটি ইউটিলিটিসে অবস্থিত ওএস এক্স কনসোল অ্যাপে দেখতে পাচ্ছেন। যদিও আমি ভুল হলে অবশ্যই আমাকে ভোট দিতে ভুলবেন না যাতে আমি এটি মুছে ফেলি।


হালনাগাদ:

নির্দিষ্টভাবে (ওএসএক্স 10.11.6 হিসাবে),

যখন কোনও অ্যাপ এমুলেটরটিতে ক্র্যাশ হয়, তখন একটি সাবফোল্ডার (একটি অনন্য আইডি সহ) যুক্ত করা হয়:

। / গ্রন্থাগার / লগস / কোরসিমুলেটর

তার মধ্যে, পরীক্ষা করে শুরু করুন stderr.logএবং system.log

যখন এমুলেটর নিজেই ক্র্যাশ হয় তখন একটি সাবফোল্ডার যুক্ত করা হয়:

। / গ্রন্থাগার / লগস / ডায়াগনস্টিক রিপোর্টগুলি

এই পথটিকে বিভ্রান্ত করবেন না

/ গ্রন্থাগার / লগস

( ~শুরুতে অভাব রয়েছে), এতে আপনার ম্যাক সম্পর্কে বিভিন্ন রিপোর্ট রয়েছে।



মনে হচ্ছে এটি কেবলমাত্র সিমুলেটারের পরিবর্তে আইফোন ডিভাইসে প্রযোজ্য। আমি ভুল হলে আমাকে সংশোধন করুন।
র‌্যাপটার

7
কনসোলটি সিএমডি- / টিপুন বা ডিবাগ / ওপেন সিস্টেম লগ ... মেনু বিকল্পটি ব্যবহার করে সিমুলেটর থেকে খোলা যেতে পারে।
lambmj

5

একটি বিশেষ ক্ষেত্রে এটি আমার জন্য কাজ করেছে এমন কিছু এখানে ... আমার অ্যাপ্লিকেশনটি সমাপ্তির সাথে সাথে SIGKILL এর সাথে ক্রাশ হচ্ছে। আমি কয়েক সেকেন্ডের জন্য মেইন.এম এ ব্যতিক্রমটি দেখতে পাবো এবং তারপরে অ্যাপটি সমাপ্ত হবে - সুতরাং, পিছনের ট্রেস পাওয়ার কোনও সুযোগ নেই।

আমি "সিমুলেটর তার ক্র্যাশ লগগুলি কোথায় সঞ্চয় করে" অনুসন্ধান করে প্রচুর অনুসন্ধান করেছিলাম এবং কখনই উত্তর খুঁজে পেতে সক্ষম হইনি। তবে, নিম্নলিখিত কৌশলটি খুব কাজে এসেছিল এবং আমি ফ্লাইতে ক্র্যাশ লগটি ধরতে সক্ষম হয়েছি:

মূলত, অ্যাপ্লিকেশনগুলি / ইউটিলিটিস / ক্র্যাশরেপোরপ্রেস.এপ খুলুন এবং সেটিংসটিকে "বিকাশকারী" এ পরিবর্তন করুন। এটি আপনার অ্যাপ্লিকেশন ক্রাশ হওয়ার পরে ক্রাশআরপোর্টারকে ক্র্যাশ লগের সাথে একটি পপআপ প্রদর্শন করবে।

আমি অ্যাপল থেকে এই দস্তাবেজে "আইওএস সিমুলেটর কনসোল এবং ক্র্যাশ লগগুলি দেখছি" বিভাগে এটি পেয়েছি: http://developer.apple.com/library/ios/#docamentation/Xcode/Conceptual/ios_de વિકાસment_workflow/125- ব্যবহার_আইএসএস সিমুলেটর / আইস_সিমুলেটর_ অ্যাপ্লিকেশন। এইচটিএমএল


: যাইহোক, SIGKILL মূল সমস্যা হল আমি গবেষণা নিষ্কাশিত হয় একটি অ সমস্যা হতে stackoverflow.com/questions/7901262/...
dana_a

আমার উল্লেখ করা উচিত যে অ্যাপ্লিকেশন / ইউটিলিটিগুলিতে কোনও ক্র্যাশ রিপোর্টারপ্রিস অ্যাপ নেই, তবে আমি এটি সন্ধান করেছি এবং অন্য কোথাও অ্যাপটি সন্ধান করতে সক্ষম হয়েছি।
জাস্টিন

@ জাস্টিন আপনি এটি কোথায় পেলেন?
ওহাদ স্নাইডার

4
দ্রষ্টব্য যে উপরে উল্লিখিত
সরঞ্জামটি এক্সকোড থেকে

1

এটি অনেক বেশি নির্ভরযোগ্য। মাত্র কয়েকটি পদক্ষেপে আমি উত্স লাইন নম্বর এবং পদ্ধতির নামটি সন্ধান করতে সক্ষম হয়েছি:

  1. সিডি ডিআরটিতে .app এবং .dSYM ফাইল রয়েছে
  2. চালান / ডেভেলপার / প্ল্যাটফর্ম / আইফোনস.প্ল্যাটফর্ম / ডেভেলপার / ইউএস / লাইবেক্সেক / জিডিবি / জিডিবি- আর্ম- ​​অ্যাপল- সদরন মাইঅ্যাপ.এপ / মাই অ্যাপ
  3. asm-demangle মুদ্রণ সেট করুন
  4. মুদ্রণ প্রতীক-ফাইল নাম সেট করুন
  5. p / a 0 × 00015c64 -> ঠিকানাটি "কনসোল" অ্যাপে ক্র্যাশ লগটি খোলার মাধ্যমে বা। ক্র্যাশ ফাইলটিতে ডাবল ক্লিক করে পেয়েছে।

4
আপনার কেন ক্র্যাশ লগ দরকার তা আমি পুরোপুরি বুঝতে পারি না। যখন সিমুলেটারের অ্যাপটি ক্রাশ হয়ে যায় তবে আপনি ডিবাগিং বন্ধ করার আগে, জিডিবি প্রম্পটে "ব্যাকট্র্যাস" এর জন্য "বিটি" টাইপ করুন - আপনি ক্র্যাশ লগটিতে ঠিক কী উপস্থিত হবে তা পেয়ে যাবেন।
ম্যাথু ফ্রেডেরিক

এই পদ্ধতিটি ক্লায়েন্ট ফোনগুলি থেকে ক্রাশ লগগুলির জন্য দুর্দান্ত কাজ করে।
গামা-পয়েন্ট

1

ক্র্যাশ ক্র্যাশ লগগুলি ~ / লাইব্রেরি / লগস / ক্রাশআরপোর্টার এর অধীন প্রদর্শিত হবে।

  • যদি আইফোন সিমুলেটর প্রোগ্রামটি ক্র্যাশ হয় (আইফোনের অ্যাপটি সিমুলেটারের মধ্যে চলছে না), তবে আইফোনসিমুলেটারের জন্য একটি এন্ট্রি থাকবে।
  • যদি সিমুলেটারের মধ্যে আইফোন অ্যাপটি ক্র্যাশ হয় তবে অ্যাপটির প্রদর্শনের নামের সাথে ক্র্যাশ লগ উপস্থিত হবে।

যখন এক্সকোড কোনও সংযুক্ত ডিভাইস থেকে ক্র্যাশ লগগুলি পায়, এটি সেগুলি ~ / লাইব্রেরি / লগস / ক্র্যাশ রেক্টর / মোবাইল ডিভাইসের সাব-ফোল্ডারে সংরক্ষণ করে


এটি এক বছর পেরিয়ে গেছে তবে আমি "সিমুলেটারের মধ্যে অ্যাপ্লিকেশন" ~ / লাইব্রেরি / লগস / ডায়াগনস্টিক রিপোর্টগুলি ক্র্যাশ করে দেখছি ... এবং এটির মতো দেখাচ্ছে: মোবাইলসফারি_2013-03-21-155844_ আমার-ম্যাকবুক-প্রো ক্র্যাশ
রব

0

আমার জন্য, এটি একটি প্রকাশ যা আমি ডিবাগার ওয়াচ উইন্ডোতে যুক্ত করেছি। যখন কোনও ব্রেকপয়েন্টে আঘাত হানাচ্ছিল, খারাপ অভিব্যক্তি এক্সকোডকে সেগফোল্টে ডেকে আনছিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.