ক্র্যাশ লগ এক্সকোডের প্রতীক কীভাবে?


188

এক্সকোড 5 আয়োজকের একটি ভিউ ছিল যা সমস্ত ক্র্যাশ লগের তালিকা করে। এবং আমরা ড্রপ ক্র্যাশ লগগুলি এখানে টেনে আনতে পারি। তবে এক্সকোড 6 থেকে, আমি জানি যে তারা ডিভাইসগুলি সংগঠিত থেকে সরিয়ে নিয়েছে এবং তার জন্য একটি নতুন উইন্ডো রয়েছে। তবে আমি এমন কোনও জায়গা খুঁজে পাচ্ছি না যেখানে আমি ক্র্যাশ লগগুলি দেখি যা আমি এক্সকোড 5 এ এক্সকোডে উঠে যাওয়ার পরে টেনে এনে ফেলেছি Any. উত্তর কেউ জানেন?


3
আমি এই মাস আগে অ্যাপল বিকাশকারী ফোরামে জিজ্ঞাসা করেছি এবং কোন উত্তর পাই নি। এটি কার্যকর কার্যকারিতার ক্ষতি। অ্যাপলটি এই বৈশিষ্ট্যটি ফিরে পেতে জিজ্ঞাসা করে একটি বাগ রিপোর্ট ফাইল করুন।
rmaddy

1
আইওএস এবং ওএসএক্স ক্র্যাশ ডাম্প উভয়েরই প্রতীক সমাধান করতে আমি সপ্তাহান্তে একসাথে এটি ঠকিয়েছি। এটি এখনও খুব রুক্ষ, তবে এটি কাজ করা উচিত। github.com/agentsim/Symbolicator
টিম

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

উত্তর:


119

ঠিক আছে আমি বুঝতে পারি যে আপনি এটি করতে পারেন:

  1. ইন Xcode > Window > Devices, উপরে সংযুক্ত আইফোন / আইপ্যাড / ইত্যাদি নির্বাচন করুন etc
  2. ডিভাইস লগগুলি দেখুন
  3. সমস্ত লগ

আপনার সেখানে সম্ভবত প্রচুর লগ রয়েছে এবং আপনার আমদানি করা লগটি পরে খুঁজে পাওয়া সহজ করার জন্য আপনি কেবলমাত্র এগিয়ে যেতে পারেন এবং এই লগে সমস্ত লগ মুছতে পারেন ... যদি না তারা আপনার অর্থ বোঝায়। অথবা যদি না আপনি ক্র্যাশ হওয়ার সঠিক পয়েন্টটি জানেন না - তবে এটি ফাইলটিতে লেখা উচিত ... আমি অলস তাই আমি সমস্ত পুরানো লগগুলি মুছলাম (এটি আসলে কিছুক্ষণ সময় নিয়েছিল)।

  1. আপনার ফাইলটিকে কেবল তালিকায় ফেলে দিন। এটা আমার জন্য কাজ করেছে।

13
আমারও একই সমস্যা হচ্ছে, তবে এটি আমার জন্য সমস্যাটি সমাধান করে না - লগগুলি যা আমি টেনে এনে উইন্ডোতে ফেলে দিই তা প্রতীকী হয় না।
আরকাইতো

9
কৌশলটি হ'ল আপনাকে কোনও ডিভাইস সংযুক্ত করতে হবে এবং তালিকা থেকে ডিভাইসটি নির্বাচন করতে হবে। আমি মনে করি না এটি কোনও ডিভাইস ছাড়া সম্ভব possible
জনি

59
আপনার ক্র্যাশ ফাইলটি সেই তালিকায় টেনে আনার জন্য, এটির এক্সটেনশন হওয়া উচিত .crash
pjay_

7
আমার জন্য অনুপস্থিত পদক্ষেপটি একবার ফাইলটি
নামানোর পরে

6
অর্গানাইজারের ভিতরে সেই সংরক্ষণাগারটির জন্য "ডিএসওয়াইএম ডাউনলোড করুন" ভুলবেন না forget
123FLO321

259

এই উত্তরটি নিজের জন্য সম্প্রদায়ের পক্ষে যতটা লিখছি।

ক্র্যাশ প্রতিবেদনের প্রতীক হিসাবে যদি কখনও সমস্যা দেখা দেয় তবে নিম্নলিখিত হিসাবে কেউ সেগুলি কাটিয়ে উঠতে পারে:

  1. একটি পৃথক ফোল্ডার তৈরি করুন, অনুলিপি করুন Foo.appএবং ফোল্ডারে Foo.app.dSYMসংশ্লিষ্ট থেকে .xcarchive.crashফোল্ডারে প্রতিবেদনটি অনুলিপি করুন ।

  2. টেক্সটএডিট বা অন্য কোথাও ক্র্যাশ প্রতিবেদনটি খুলুন, Binary Images:বিভাগে যান এবং সেখানে প্রথম ঠিকানাটি অনুলিপি করুন (যেমন 0xd7000)।

  3. cdফোল্ডারে। এখন আপনি নিম্নলিখিত কমান্ড চালাতে পারেন:

    xcrun atos -o Foo.app/Foo -arch arm64 -l 0xd7000 0x0033f9bb

এটি ঠিকানায় প্রতীক প্রতীক হবে 0x0033f9bb। দয়া করে -archবিকল্পটির সঠিক মান বাছাই করা নিশ্চিত করুন ( Binary Images:বিভাগের প্রথম লাইন থেকে আবৃত হতে পারে , বা Hardware Model:ক্র্যাশ প্রতিবেদনে এবং অ্যাপ্লিকেশনটির সমর্থিত খিলানগুলি থেকে সন্ধান করা যেতে পারে)।

আপনি ক্রাশ রিপোর্ট থেকে প্রয়োজনীয় ঠিকানাগুলি (যেমন একটি থ্রেড কল স্ট্যাক) অনুলিপি করে সরাসরি একটি টেক্সট ফাইলে (TextEdit এ, অপশনটি ধারণ করুন এবং প্রয়োজনীয় পাঠ্য ব্লক নির্বাচন করুন, বা অনুলিপি এবং কাটা) কপি করতে পারেন, এরকম কিছু পেতে:

0x000f12fb
0x002726b7
0x0026d415
0x001f933b
0x001f86d3

এখন আপনি এটি একটি টেক্সট ফাইলে সংরক্ষণ করতে পারেন, উদাহরণস্বরূপ addr.txt, এবং নিম্নলিখিত কমান্ডটি চালনা করতে পারেন:

xcrun atos -o Foo.app/Foo -arch arm64 -l 0xd7000 -f addr.txt

এটি একবারে সমস্ত ঠিকানার জন্য একটি দুর্দান্ত প্রতীক দেবে।

পুনশ্চ

উপরের কাজটি করার আগে, এটি যাচাই করা উচিত যে সবকিছু সঠিকভাবে সেট আপ হয়েছে (যেমন atosআনন্দের সাথে মূলত কোনও সরবরাহিত ঠিকানার জন্য কিছু রিপোর্ট করা হবে)।

চেকিং করতে, ক্র্যাশ রিপোর্টটি খুলুন, এবং কল স্ট্যাকের শেষে যান Thread 0। আপনার অ্যাপ্লিকেশনটি (সাধারণত দ্বিতীয়টি) তালিকাভুক্ত করতে শেষ থেকে প্রথম লাইন, যেমন:

34  Foo                    0x0033f9bb 0xd7000 + 2525627

main()কল করা উচিত । 0x0033f9bbউপরে বর্ণিত ঠিকানায় ( এই ক্ষেত্রে) চিহ্ন প্রতীকী হওয়া নিশ্চিত হওয়া উচিত যে এটি সত্যইmain() এবং কিছু র্যান্ডম পদ্ধতি বা ফাংশন নয়।

যদি ঠিকানাটি না হয় তবে main()আপনার লোড ঠিকানা ( -lবিকল্প) এবং খিলানটি পরীক্ষা করুন (-arch বিকল্প) পরীক্ষা করুন।

PPS

যদি উপরেরটি বিটকডের কারণে কাজ না করে , আইটিউনস কানেক্ট থেকে আপনার বিল্ডের জন্য ডিএসওয়াইএম ডাউনলোড করুন, ডিএসওয়াইএম (ফাইন্ডার> প্যাকেজ বিষয়বস্তু দেখান) থেকে এক্সিকিউটেবল বাইনারি বের করুন, এটি ডিরেক্টরিতে অনুলিপি করুন এবং এটি (যেমন Foo) হিসাবে ব্যবহার করুন atosপরিবর্তে, যুক্তি Foo.app/Foo


2
মিনি এক্সক্রুন টিউটোরিয়াল লেখার এবং স্যানিটি চেক বিভাগটি দিয়ে আপডেট করার সমস্যার জন্য ধন্যবাদ thank প্রচুর শপথ গ্রহণের পরেও আমার
বিচক্ষণতা রক্ষা পেয়েছে

10
যাচাই করতে ভুলবেন না যে ক্র্যাশ রিপোর্টটি এক্সিকিউটেবল এবং ডিএসওয়াইএমের সাথে মেলে। আপনি বাইনারি ইমেজ বিভাগের অধীনে <> এর আইডেন্টিফায়ারের সাথে এটি চালিয়ে আপনার এক্সিকিউটেবল ফাইল থেকে ফিরে আসাটির সাথে মিলিয়ে এটি পরীক্ষা করতে পারেনxcrun dwarfdump --uuid <path to executable>
রায়ান সি পায়েেন

2
এটি লক্ষ্য করা গুরুত্বপূর্ণ যে আপনার অ্যাপ্লিকেশন (ফু) থেকে কেবল প্রতীকগুলি প্রদর্শিত হবে। এটি বাহ্যিক লাইব্রেরি / ফ্রেমওয়ার্কগুলি যেমন ফাউন্ডেশন, বা libsystem_kernel.dylib এর থেকে প্রতীকগুলির জন্য প্রদর্শিত হবে না।
jlukanta

1
এটি সহায়ক, তবে এখনও আমার পক্ষে কাজ করে না। যে অংশটি নিয়ে আমি সমস্যায় পড়ছি তা হ'ল আমার কাছে 0xd7000 তথ্য নেই। আমার লাইনটি 0x100038328 __mh_execute_header + 99112 এর মতো দেখাচ্ছে I've আমি __mh_execute_header কি তা পড়েছি তবে 0x100038328 এ আমি কীভাবে তথ্য পেতে পারি ??? আমার কাছে অন্য সব কিছুই আছে
skinsfan00atg

5
আমি একটি সাধারণ বাশ স্ক্রিপ্ট লিখেছিলাম যা আপনার পক্ষে বেশিরভাগ কাজ করে। ব্যবহার: ./symbolicate.sh mycrash.crash MyApp.app arch64 output.crash কেবলমাত্র এটি সম্পূর্ণ ক্র্যাশ প্রতিবেদনের প্রতীক এবং এটির প্রতীকী সংস্করণ আপনাকে দেবে। gist.github.com/nathan-fiscaletti/…
নাথান এফ

186

আপনি এটিকেও উল্লেখ করতে পারেন, আমি ম্যানুয়াল ক্র্যাশ রি-সিম্বোলিকেশন এর ধাপে ধাপে পদ্ধতি লিখেছি

ক্র্যাশ পুনরায় প্রতীক

ধাপ 1

উপরের সমস্ত ফাইলগুলি (মাইএপ.এপ, মাই অ্যাপ-ডিএসওয়াইএম.ডিএসওয়াইএম এবং মাই অ্যাপ-ক্র্যাশ-লগ ক্র্যাশ) একটি ফোল্ডারে সরান যেখানে আপনি সহজেই টার্মিনাল ব্যবহার করতে পারবেন।

আমার জন্য ডেস্কটপ হ'ল সহজেই পৌঁছনীয় জায়গা;) সুতরাং, আমি এই তিনটি ফাইল ডেস্কটপে মাই অ্যাপ অ্যাপ্লিকেশনটিতে সরিয়েছি।

ধাপ ২

এখন এটির ফাইন্ডারের পালা, আপনার এক্সকোডি সংস্করণের জন্য প্রযোজ্য নিম্নলিখিতগুলির দিক থেকে যান।

symbolicatecrashস্ক্রিপ্ট ফাইলটি খুঁজতে এই কমান্ডটি ব্যবহার করুন,
find /Applications/Xcode.app -name symbolicatecrash

এক্সকোড 8, এক্সকোড 9, এক্সকোড 11 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

এক্সকোড 7.3 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

এক্সকোড 7 /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash

এক্সকোড 6 /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources

লোয়ার তারপর এক্সকোড 6 Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources

অথবা Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources

ধাপ 3

$PATHসন্ধানী প্রতীকক্র্যাশ স্ক্রিপ্ট ফাইলের ডিরেক্টরিটি এর মতো চলককে env পরিবর্তন করতে যুক্ত করুন : sudo vim /etc/paths.d/Xcode-symbolicatecrashএবং স্ক্রিপ্ট ফাইলের ডিরেক্টরিটি পেস্ট করুন এবং ফাইলটি সংরক্ষণ করুন। নতুন টার্মিনালটি খোলার সময় আপনি symbolicatecrashযে কোনও ফোল্ডারে অবস্থিত কমান্ড হিসাবে কল করতে পারেন /usr/bin

অথবা

এই অবস্থান থেকে প্রতীকীর্ণ ফাইলটি অনুলিপি করুন এবং এটি ডেস্কটপ / মাই অ্যাপে পেস্ট করুন (অপেক্ষা করুন ... অন্ধভাবে আমাকে অনুসরণ করবেন না, আমি ফায়ার মাই অ্যাপে সিবোলিকেটক্র্যাশ ফাইলটি আটকানো করছি, এটি আপনার পছন্দের লোকেশনটিতে প্রথম ধাপে তৈরি করা হয়েছে, এতে তিনটি ফাইল রয়েছে। )

পদক্ষেপ 4

টার্মিনাল এবং মাই অ্যাপ্লিকেশন ফোল্ডারে সিডি খুলুন।

cd Desktop/MyApp — Press Enter
export DEVELOPER_DIR=$(xcode-select --print-path)

 -  এন্টার টিপুন

./symbolicatecrash -v MyApp-Crash-log.crash MyApp.dSYM

 -  এন্টার টিপুন

এটাই !! প্রতীকী লগগুলি আপনার টার্মিনালে রয়েছে ... এখন আপনি কীসের জন্য অপেক্ষা করছেন? এখন কেবল ত্রুটিটি খুঁজে বের করুন এবং এটি সমাধান করুন;)

শুভ কোডিং !!!


2
@ এমিলভিক্রাস্টম: পরামর্শ দেওয়ার জন্য ধন্যবাদ, উত্তরটি আপডেট করেছেন।
মৃগু

2
DEVELOPER_DIR = রফতানি ব্যবহার করুনxcode-select --print-path
প্যারাগ বাফনা

8
একটি ট্রিট কাজ করেছেন - আপনাকে ধন্যবাদ। আমাকে রপ্তানি DEVELOPER_DIR = / অ্যাপ্লিকেশন / এক্সকোড.অ্যাপ / সামগ্রী / ডেভেলপার (কোন উদ্ধৃতি ব্যতীত) ব্যবহার করতে হয়েছিল Just
Goelectric

1
"রফতানি করুন DEVELOPER_DIR = এক্সকোড-নির্বাচন - প্রিন্ট-পাথ" কেবল আমাকে বলে "-বাশ: রফতানি:` --প্রিন্ট-পাথ ': কোনও বৈধ সনাক্তকারী নয়
অলমো

2
হালনাগাদ; এটা এখানে ; এক্সকোড 7 এর জন্য এখানে প্রতীকী ক্র্যাশ সন্ধান করুন; প্রতি /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash stackoverflow.com/questions / 32804611 /…
অ্যানিএইজিলে

27

আমার জন্য। ক্র্যাশ ফাইলটি যথেষ্ট ছিল। .DSYM ফাইল এবং .app ফাইল ছাড়াই।

আমি সংরক্ষণাগারটি যেখানে তৈরি করি সেখানে ম্যাকের উপরে এই দুটি কমান্ড চালিয়েছি এবং এটি কাজ করেছে:

export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" 

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash  /yourPath/crash1.crash > /yourPath/crash1_symbolicated.crash

কি দারুন. আমি জানি না এটি .dsym ফাইল ব্যতীত কীভাবে কাজ করে তবে এটি কার্যকর হয়!
rustyMagnet

4
@ রাস্টিমেগনেট এটি যেভাবে কাজ করে তা হ'ল আপনার কম্পিউটারে সংরক্ষণাগার তৈরি হওয়া শব্দগুলি ব্যবহার করে।
আন্দ্রে তারানসোভ

1
হ্যাঁ, এটি কেবলমাত্র আপনি এক্সকোড দিয়ে সংরক্ষণাগারভুক্ত করা বিল্ডগুলির জন্য কাজ করে, অন্য কোনও বিল্ড যা আপনি অ্যাড-হক রানের জন্য তৈরি করতে পারেন যা আপনি তারপরে ক্র্যাশ লগগুলির প্রতীকী করতে চান।
সিএম্যাশ

21

এক্সকোড ব্যবহার করার একটি সহজ উপায় রয়েছে (কমান্ড লাইন সরঞ্জাম ব্যবহার না করে এবং একবারে ঠিকানাগুলি সন্ধান না করা)

  1. কোনও .xcarchive ফাইল নিন। আপনি যদি এটি ব্যবহার করতে পারেন তার আগে থেকে একটি থাকে। আপনার যদি না থাকে তবে এক্সকোড থেকে পণ্য> সংরক্ষণাগারটি চালিয়ে একটি তৈরি করুন।

  2. .Xcarchive ফাইলে রাইট ক্লিক করুন এবং 'প্যাকেজ সামগ্রী দেখান' নির্বাচন করুন

  3. DSYMs ফোল্ডারে dsym ফাইল (ক্র্যাশ হওয়া অ্যাপটির সংস্করণটির) অনুলিপি করুন

  4. পণ্যসমূহ> অ্যাপ্লিকেশন ফোল্ডারে .app ফাইলটি (ক্র্যাশ হওয়া অ্যাপটির সংস্করণটির) অনুলিপি করুন

  5. তথ্য.পালিস্ট সম্পাদনা করুন এবং অ্যাপ্লিকেশনপ্রাপ্তি অভিধানের আওতায় সিএফবান্ডেলশার্টভারশনস্ট্রিং এবং সিএফবান্ডেল ভার্সন সম্পাদনা করুন। এটি আপনাকে পরে সংরক্ষণাগারটি সনাক্ত করতে সহায়তা করবে

  6. এক্সকোডে এক্সকোডে আমদানি করতে ডাবল ক্লিক করুন। এটি অর্গানাইজার খুলতে হবে।

  7. ক্র্যাশ লগটিতে ফিরে যান (এক্সকোডের ডিভাইস উইন্ডোতে)

  8. আপনার। ক্র্যাশ ফাইলটি সেখানে টানুন (যদি ইতিমধ্যে উপস্থিত না থাকে)

  9. সম্পূর্ণ ক্র্যাশ লগটি এখন প্রতীকী হওয়া উচিত। যদি তা না হয় তবে ডান ক্লিক করুন এবং 'পুনরায় প্রতীকী ক্র্যাশ লগ' নির্বাচন করুন


1
আপনার উত্তরটি সঠিক এবং সহজ। টার্মিনাল অ্যাপটি ব্যবহার করার দরকার নেই। .App.dSYM ফোল্ডারের জিপ বলের পরিবর্তে কিছু ধারাবাহিক-ইন্টিগ্রেশন সিস্টেমে .xcarchive ফাইল নেই বলে .xcarchive ফোল্ডারের বিনোদন খুব গুরুত্বপূর্ণ। কাকতালীয়ভাবে, আমি গতকাল যা করেছি তা হ'ল আপনি যা বলেছেন ঠিক তেমনই।
ডনসং

সম্পূর্ণ আউটপুট কেমন দেখতে হবে?
noobsmcgoobs

এটি আমার ক্র্যাশ লগগুলিকে আংশিকভাবে প্রতীকী করে যদিও আমি ৩-৫ ধাপ এড়িয়ে যাইনি কারণ আমার এক্সক্রাইচটি ক্র্যাশ হওয়া অ্যাপটির সংস্করণ হিসাবে রয়েছে।
ডিক্লান ম্যাক

1
এটি কেবলমাত্র আপনার নিজস্ব কোডের প্রতীক হবে - আপনি ব্যবহার করেছেন এমন বহিরাগত গ্রন্থাগার কোড নয়।
আরপিএম

7

একই মেশিনে একটি অ্যাপ্লিকেশন বিল্ড থেকে ক্রাশ লগের প্রতীক হিসাবে এক্সকোড 10 এ এই পদক্ষেপগুলি অনুসরণ করুন:

  1. ভিতরে অর্গানাইজার , সংরক্ষণাগারটি সন্ধান করুন যেখানে অ্যাপ্লিকেশন ভিত্তিক।
  2. ডাউনলোড ডিবাগ প্রতীকগুলিতে ক্লিক করুন বোতাম। আপনার ডাউনলোড ফোল্ডারে কিছুই উপস্থিত হবে না, তবে তা ঠিক।
  3. বিল্ড মেশিনটিকে কোনও আইওএস ডিভাইসে সংযুক্ত করুন।
  4. ডিভাইস এবং সিমুলেটরগুলিতে ডিভাইসটি নির্বাচন করুন
  5. ভিউ ডিভাইস লগগুলিতে ক্লিক করুন বোতাম।
  6. বাম প্যানেলে ক্র্যাশ ফাইলটি টানুন এবং ছেড়ে দিন। ফাইলটি অবশ্যই একটি ক্র্যাশ দিয়ে শেষ হবে এক্সটেনশনের , অন্যথায় ড্র্যাগ ব্যর্থ হয়।
  7. সমস্ত লগ ট্যাবে স্যুইচ করুন ।
  8. যুক্ত ক্রাশ ফাইলটি নির্বাচন করুন।
  9. ফাইলটি স্বয়ংক্রিয়ভাবে প্রতীকী হওয়া উচিত, অন্যথায় ডান ক্লিকের প্রসঙ্গ মেনু আইটেমটি পুনরায় প্রতীক লগ ব্যবহার করুন

1
প্রথমে আমি ভাবিনি যে এটি অন্যান্য পোস্টগুলিতে কিছু যুক্ত করছে তবে প্রথম দুটি পদক্ষেপ, বিশেষত 'ডাউনলোডের ডেগগ চিহ্নগুলি' মনে হচ্ছে যা আমার অনুপস্থিত ছিল। ধন্যবাদ.
ক্রিস্টোফার কিং

6

যদি আপনার কাছে একই সাব-ফোল্ডারে .dSYM এবং। ক্র্যাশ ফাইল থাকে তবে এই পদক্ষেপগুলি আপনি নিতে পারেন:

  1. । ক্র্যাশ ফাইলে ব্যাকট্রেসটি দেখে দ্বিতীয় স্তম্ভের বাইনারি চিত্রের নাম এবং তৃতীয় কলামের ঠিকানাটি (যেমন নীচের উদাহরণে 0x00000001000effdc) নোট করুন।
  2. ব্যাকট্রেসের নীচে, "বাইনারি ইমেজস" বিভাগে, বাইনারি চিত্রের (যেমন থিমেন্টস) চিত্রের নাম, আর্কিটেকচার (যেমন আর্ম 64) এবং লোড ঠিকানা (নীচের উদাহরণে 0x1000e4000) নোট করুন।
  3. নিম্নলিখিতটি কার্যকর করুন:

$ atos -arch arm64 -o TheElements.app.dSYM/Contents/Resources/DWARF/TheElements -l 0x1000e4000 0x00000001000effdc -[AtomicElementViewController myTransitionDidStop:finished:context:]

প্রামাণিক উত্স: https://developer.apple.com/library/content/technotes/tn2151/_index.html#//apple_ref/doc/uid/DTS40008184-CH1-SYMBOLICATE_WITH_ATOS


3

আপনার এক্সকোড অ্যাপ্লিকেশন নামটিতে কোনও স্থান নেই। এটি আমার জন্য কাজ করে না এই কারণ ছিল। তাই /Applications/Xcode.appকাজ করে, যখন /Applications/Xcode 6.1.1.appকাজ করে না।


আপনি চেষ্টা করেছেন? যদি তা না হয় তবে দয়া করে চেষ্টা করে দেখুন আপনার মন্তব্যটি কোনও অর্থবোধ করে কিনা।
বুকে

1
আমি যেমন কথা বলছি তেমন সমস্যা নয়। এক্সকোড ইনস্টল করার পরে নাম পরিবর্তন করা যেতে পারে, তবে প্রথম ব্যবহারের আগে। তবে প্রতীক চিহ্নের জন্য স্ক্রিপ্ট অ্যাপ্লিকেশনটির নামে ফাঁকা স্থান পরিচালনা করতে পারে না এবং এটি ব্যর্থ হয়।
বুক

1
@ চকক্রুটসিংগার আপনি কি আসলেই চেষ্টা করেছেন? কারণ পালানো স্থানগুলি আপনাকে স্ক্রিপ্টটি চালানোর অনুমতি দেবে, তবে স্ক্রিপ্টটি নিজেই ব্যর্থ হবে। স্ক্রিপ্ট সম্ভবত পলায়ন স্থান সহ অন্যান্য স্ক্রিপ্ট কল করে না।
বুক

1
@ চকক্রুটসিংগার এটি খুব সুন্দর এবং সব কিছু, তবে কেউ যদি এক্সকোডকে স্বয়ংক্রিয়ভাবে ক্র্যাশ লগের প্রতীক হিসাবে দেখাতে চায় তবে আপনাকে শেষ পর্যন্ত আমার উত্তরটি দরকার হবে।
বুক

1
আমি পুনরাবৃত্তি করতে চাই যে বুকটি সঠিক এবং আপনি যদি এক্সকোড অ্যাপ্লিকেশনটির পথে একটি জায়গা থাকে তবে এক্সকড স্ক্রিপ্টটি ক্র্যাশ লগগুলি প্রতীক হিসাবে ব্যবহার করতে ব্যবহার করে না NOT ম্যানুয়াল পুনরায় প্রতীক সঙ্গে কিছুই করার নেই।
গ্যারি মাকিন

3

এক্সকোড 11.2.1, ডিসেম্বর 2019

অ্যাপল আপনাকে। টেক্সট ফর্ম্যাটটিতে ক্র্যাশ লগইন দেয়, যা নিরবচ্ছিন্ন

**

সংযুক্ত ডিভাইস সহ

**

  • ".Txt" ফাইলটি ডাউনলোড করুন, ".ক্র্যাশ" এ এক্সটেনশন পরিবর্তন করুন এখানে চিত্র বর্ণনা লিখুন
    • এক্সকোডে উইন্ডো ট্যাব থেকে ডিভাইস এবং সিমুলেটর খুলুন
    • ডিভাইস নির্বাচন করুন এবং ডিভাইস লগগুলি নির্বাচন করুন
    • ডিভাইস লগ উইন্ডোতে। ক্র্যাশ ফাইলটি টানুন এবং ফেলে দিন

এখানে চিত্র বর্ণনা লিখুন

আমরা সেখানে প্রতীকী ক্র্যাশ লগগুলি দেখতে সক্ষম হব

ক্র্যাশ লগগুলি প্রতীকীকরণের বিষয়ে আরও তথ্যের জন্য দয়া করে লিঙ্কটি দেখুন


2

অ্যাপলের ডক্স থেকে:

এক্সকোডের সাথে ক্র্যাশ প্রতিবেদনের প্রতীকীকরণ Xcode স্বয়ংক্রিয়ভাবে সমস্ত ক্র্যাশ রিপোর্টের মুখোমুখি হওয়ার প্রতীক হওয়ার চেষ্টা করবে it প্রতীক হিসাবে আপনাকে যা করতে হবে তা হ'ল এক্সকোড সংগঠকটিতে ক্র্যাশ প্রতিবেদন যুক্ত করা।

  • কোনও আইওএস ডিভাইসকে আপনার ম্যাকের সাথে সংযুক্ত করুন
  • "উইন্ডো" মেনু থেকে "ডিভাইসগুলি" চয়ন করুন
  • বাম কলামে "ডিভাইস" বিভাগের অধীনে একটি ডিভাইস চয়ন করুন
  • ডান হাতের প্যানেলে "ডিভাইস তথ্য" বিভাগের অধীনে "ডিভাইস লগগুলি দেখুন" বোতামটি ক্লিক করুন
  • আপনার ক্র্যাশ প্রতিবেদন উপস্থাপিত প্যানেলের বাম কলামে টেনে আনুন
  • এক্সকোড স্বয়ংক্রিয়ভাবে ক্র্যাশ প্রতিবেদনের প্রতীক এবং ফলাফলগুলি প্রদর্শন করবে একটি ক্র্যাশ প্রতিবেদনের প্রতীক হিসাবে, এক্সকোড নিম্নলিখিতটি সনাক্ত করতে সক্ষম হতে হবে:

    1. ক্র্যাশিং অ্যাপ্লিকেশনটির বাইনারি এবং ডিএসওয়াইএম ফাইল।

    2. অ্যাপ্লিকেশনগুলির সাথে লিঙ্ক করা সমস্ত কাস্টম ফ্রেমওয়ার্কগুলির জন্য বাইনারি এবং ডিএসওয়াইএম ফাইল। অ্যাপ্লিকেশনটি উত্স থেকে নির্মিত ফ্রেমওয়ার্কগুলির জন্য, তাদের ডিএসওয়াইএম ফাইলগুলি অ্যাপ্লিকেশনটির ডিএসওয়াইএম ফাইলের পাশাপাশি সংরক্ষণাগারে অনুলিপি করা হয়। তৃতীয় পক্ষ দ্বারা নির্মিত ফ্রেমওয়ার্কগুলির জন্য, আপনাকে লেখককে ডিএসওয়াইএম ফাইলের জন্য জিজ্ঞাসা করতে হবে।

    3. যে অ্যাপ্লিকেশনটি ক্র্যাশ হয়েছিল তখন সেই অ্যাপ্লিকেশনটি চালু ছিল যে ওএসের জন্য প্রতীকগুলি। এই চিহ্নগুলিতে একটি নির্দিষ্ট ওএস রিলিজ (যেমন, আইওএস 9.3.3) অন্তর্ভুক্ত ফ্রেমওয়ার্কগুলির জন্য ডিবাগ তথ্য রয়েছে। ওএস প্রতীকগুলি আর্কিটেকচার নির্দিষ্ট - 64৪-বিট ডিভাইসগুলির জন্য আইওএসের রিলিজে আর্মভ symb চিহ্নগুলি অন্তর্ভুক্ত করা হবে না। আপনি আপনার ম্যাকের সাথে সংযুক্ত প্রতিটি ডিভাইস থেকে এক্সকোড স্বয়ংক্রিয়ভাবে ওএস প্রতীকগুলি অনুলিপি করবে।

এর মধ্যে যদি কোনওর অনুপস্থিত থাকে তবে এক্সকোড ক্র্যাশ প্রতিবেদনের প্রতীক হিসাবে না সক্ষম হতে পারে, বা কেবল আংশিকভাবে ক্র্যাশ প্রতিবেদনের প্রতীক হতে পারে।


2

ক্র্যাশ লগগুলি প্রতীকী করার সবচেয়ে সহজ প্রক্রিয়া:

  1. ভবিষ্যতে ব্যবহারের জন্য আইপিএ বিল্ডিং প্রক্রিয়া চলাকালীন আয়োজকের কাছ থেকে এক্সক্রিচ ফাইল সংরক্ষণ করুন।
  2. ক্র্যাশ হওয়ার পরে, প্রভাবিত ডিভাইস থেকে ক্র্যাশ লগ সংগ্রহ করুন। এক্সটেনশনটি। ক্র্যাশ হওয়া উচিত। যদি ক্র্যাশ লগটি .ips বিন্যাসে থাকে তবে কেবল এটি। ক্র্যাশে নামকরণ করুন।
  3. এটি আয়োজক হিসাবে উপস্থিত হতে (যদি ইতিমধ্যে উপস্থিত না থাকে) সঞ্চিত পাথ থেকে এক্সক্রিভকে ডাবল ক্লিক করুন।
  4. এক্সকোড উইন্ডো-> ডিভাইস এবং সিমুলেটরগুলিতে খুলুন -> ডিভাইস লগগুলি দেখুন -> সমস্ত লগ ->। ক্র্যাশ ফাইলটি টানুন এবং ফেলে দিন।

5 সেকেন্ডের জন্য অপেক্ষা করুন। ব্যাং! স্ট্যাক ট্রেস অ্যাপ্লিকেশন কল প্রতীক হবে! আপনি এখনও অনেক চিহ্ন দেখতে পাবেন! সেগুলি হল অভ্যন্তরীণ গ্রন্থাগার এবং ফ্রেমওয়ার্ক কল।

এটিই সবচেয়ে সহজ, চেষ্টা ও পরীক্ষিত!


1

অ্যাপল আপনাকে। টেক্সট ফর্ম্যাটটিতে ক্র্যাশ লগইন দেয়, যা নিরবচ্ছিন্ন

**

সংযুক্ত ডিভাইস সহ

**

  • ".Txt" ফাইলটি ডাউনলোড করুন, ".ক্র্যাশ" এ এক্সটেনশন পরিবর্তন করুন এখানে চিত্র বর্ণনা লিখুন
    • এক্সকোডে উইন্ডো ট্যাব থেকে ডিভাইস এবং সিমুলেটর খুলুন
    • ডিভাইস নির্বাচন করুন এবং ডিভাইস লগগুলি নির্বাচন করুন
    • ডিভাইস লগ উইন্ডোতে। ক্র্যাশ ফাইলটি টানুন এবং ফেলে দিন

এখানে চিত্র বর্ণনা লিখুন

আমরা সেখানে প্রতীকী ক্র্যাশ লগগুলি দেখতে সক্ষম হব

ক্র্যাশ লগগুলি প্রতীকীকরণের বিষয়ে আরও তথ্যের জন্য দয়া করে লিঙ্কটি দেখুন

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