![]() Use the following command to output all the callstacks for all the threads in the process: clrstack -allĪ representative portion of the output looks like. ![]() It can either output a single callstack or all the callstacks. The clrstack command can be used to output callstacks. The next step is to get a better understanding of what the threads are currently doing by getting each thread's callstack. Based on the output, there are over 300 threads. The output shows all the threads currently running in the process with their associated debugger thread ID and operating system thread ID. You can use the threads command as shown below: > threads Since you're looking at a potentially unresponsive application, you want an overall feel for the thread activity in the process. The argument is the path to the core dump file that was collected earlier. To start the core dump analysis, open the core dump using the following dotnet-dump analyze command. Then create the core dump using the following command: Let the request run for about 10-15 seconds. ![]() The API request to the site will stop responding. Navigate to the following URL, which is an API endpoint on the sample site: Our process ID was 4807, but yours will be different. Take note of the process ID from your command output. To find the process ID, use the following command: dotnet-trace ps Run the sample debug application using the following command from the sample root directory: dotnet run To investigate application unresponsiveness, a core dump or memory dump allows you to inspect the state of its threads and any possible locks that may have contention issues. ![]() ![]() dotnet-dump to collect, and analyze a dump file.Sample debug target - web app to trigger the scenario.Analyze process threads in the dump file.Investigate an app that has stopped responding. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |