Posts

Post not yet marked as solved
0 Replies
825 Views
Hallo all, I did a test integration of MetricKit into one of our apps...I'am on macOS Ventura 13.3.1 (a). The app is not distributed via the App Store. I subscribed to the MXMetricManager and implemented the didReceiveDiagnosticPayloads function. So far everything seems to work, when I use in Xcode: Debug -> Simulate MetricKit Payload I get a callback and the payload. So I did some further testing. When I build the app debug version with a test crash and then run the Debug Version (without Xcode) and let it crash the next time I start the app I get a callback to didReceiveDiagnosticPayloads with all the information about the crash. But I'am not able to get a hang report. I tested it by adding a sleep (60) and adding some intensive computation work on the main thread so that it is busy for several seconds, I get no hang reports :-( I'am using the Debug version and run it without Xcode. Are hang reports expected to be reported immediately? I also get after 24 hours no hang reports. Can someone help me? Thanks and have a nice day!
Posted
by ErichK.
Last updated
.
Post marked as solved
5 Replies
2.3k Views
Once I symbolicated a trace in Instruments with a dsym file it magically woks forever. Even when I delete the dlsym file new traces are symbolicated. How can I avoid that? Where is the data cached? Any help is appreciated! Thanks, Eric
Posted
by ErichK.
Last updated
.
Post not yet marked as solved
0 Replies
650 Views
Hello, I'am trying to analyse a hang with our App and asked the customer to do a ktrace artrace ("sudo ktrace artrace") on his system. The problem is that the macOS symbols are missing when I open the trace with Instruments on my system. the customer is running macOS 11.6.1, I'am running macOS 12.0.1. I asked the customer to do a sudo ktrace symbolicate but that does not help. This is a very important workflow for me to analyse sluggishness and hangs on systems, any help is welcome! :-)
Posted
by ErichK.
Last updated
.
Post not yet marked as solved
0 Replies
561 Views
Hello, the following code behaves different in debug and release mode. The debug output is correct while in release mode it seems that there is no integer overflow and instead the value is calculated with a 64 bit value. @ Apple: can you confirm it? #include <iostream> #include <string> //------------------------------------------------------------------------ int main () { signed long long checkSum {14120563136728876}; int i = 23342251; std::string theString {"\\"}; // one ch is working, one is not // compare by using the first one or the second one // unsigned char ch {0b01011100}; // 92 unsigned char ch = theString[0]; // 92 checkSum += (int)ch * (i + 1); // different result in Debug and Release Mode std::cout << checkSum << "\n"; return 0; }
Posted
by ErichK.
Last updated
.