2016-10-04 15 views
6

मैं प्रक्रियाओं जो SIGABRT, SIGBUS, etс द्वारा समाप्त करने के लिए कोर डंप फ़ाइल बनाना सक्षम करने की आवश्यकता ..कोड सक्षम करने के लिए MacOS सिएरा में दुर्घटनाग्रस्त हो गया प्रक्रिया के लिए कोर डंप सक्षम

मैक ओएस एक्स के पिछले संस्करणों में (ElCapitan शामिल हैं) सभी प्रक्रियाओं के लिए डंप फ़ाइल मैं करूँगा:

sudo sysctl -w kern.corefile=/Users/tester/core.%U.%P.%N.dump 
sudo sysctl -w kern.coredump=1 
sudo launchctl limit core unlimited 
sudo ulimit -c unlimited 
launchctl limit core unlimited 
ulimit -c unlimited 

अब यह तरीका काम नहीं करता है। this Site नए गोर कमांड के बारे में बात करें, लेकिन यह प्रक्रियाओं को चलाने के लिए काम करता है। कर्नेलकोर डंप के लिए अब आपको एनवीआरएएम चर official सक्षम करना होगा।

उत्तर

0

मैंने एक्सकोड 9 के साथ ulimit -c unlimited की कोशिश की, इसके बाद सेगफॉल्ट प्राप्त करने के लिए कुछ सुनिश्चित करने के बाद, और बिंगो को /core/ में लिखा गया एक कॉर्डम्प मिला। अर्थात्, मैं

की कोशिश की
#include <stdio.h> 
int main() 
{ 
int a[2]; 
printf("\n hi\n"); 
a[20000]=10; 
return 0; 
} 

सहेजें यह एक फाइल करने के लिए, x.c कहते हैं, तो एक ही टर्मिनल सत्र जहां निष्पादित ulimit ऊपर कर में cc x.c (आप Xcode के कमांड लाइन उपकरण स्थापित किया है यह सोचते हैं), ./a.out

द्वारा पीछा किया

कॉर्डम्प 700 एमबी से अधिक आकार में था, मान लीजिए या नहीं।

संबंधित मुद्दे