* If SOS or dotnet-dump analyze commands display "UNKNOWN" for types or functions names, your core dump may not have all the managed state. Dumps created with gdb or gcore have this problem. Linux system generated core dumps need the `coredump_filter` for the process to be set to at least 0x3f. See [core](http://man7.org/linux/man-pages/man5/core.5.html) for more information.
-* If dump collection (`dotnet-dump collect` or `createdump`) doesn't work in a docker container, try adding the SYS\_TRACE capablity with --cap-add=SYS\_PTRACE or --privileged.
+* If dump collection (`dotnet-dump collect` or `createdump`) doesn't work in a docker container, try adding the SYS\_TRACE capability with --cap-add=SYS\_PTRACE or --privileged.
* If dump analysis (`dotnet-dump analyze`) on Microsoft .NET Core SDK Linux docker images fails with an`Unhandled exception: System.DllNotFoundException: Unable to load shared library 'libdl.so' or one of its dependencies` exception. Try installing the "libc6-dev" package.
To kick off an official build, go to this build definition: https://dev.azure.com/dnceng/internal/_build?definitionId=528.
-This signs and publishes dotnet-dump, dotnet-sos, dotnet-trace, dotnet-counters and Microsoft.Diagnostic.TestHepers packages to https://dotnetfeed.blob.core.windows.net/dotnet-core feed.
+This signs and publishes dotnet-dump, dotnet-sos, dotnet-trace, dotnet-counters and Microsoft.Diagnostic.TestHelpers packages to https://dotnetfeed.blob.core.windows.net/dotnet-core feed.
To release the latest tools:
private-memory Amount of private virtual memory used by the process (MB)
working-set Amount of working set used by the process (MB)
virtual-memory Amount of virtual memory used by the process (MB)
- gc-total-memory Amount of commited virtual memory used by the GC (MB)
+ gc-total-memory Amount of committed virtual memory used by the GC (MB)
exceptions-thrown-rate Number of exceptions thrown in a recent 1 minute window (exceptions/min)
lock-contention-rate Number of instances of lock contention on runtime implemented locks in a
recent 1 minute window (contentions/min)
> dotnet-trace collect -p 2266 --providers Microsoft-DotNETCore-SampleProfiler
> ```
-2266 is the process identifier which can be found using dotnet-trace list-processes. Let dotnet-trace run for about 20-30 seconds and then hit enter to exit the collection. The result is a nettrace file located in the same folder. nettrace files are a great way to use existing analysis tools on Windows (such as PerfView) to diagose performance problems.
+2266 is the process identifier which can be found using dotnet-trace list-processes. Let dotnet-trace run for about 20-30 seconds and then hit enter to exit the collection. The result is a nettrace file located in the same folder. nettrace files are a great way to use existing analysis tools on Windows (such as PerfView) to diagnose performance problems.
Alternatively, you can get the perf and LTTng trace data in nettrace format by using the perfcollect tool (please see Installing the tools section). Once installed, run the following command:
> sudo perf report -f
> ```
-Alternatively, you can also generate a flamegrah by using the following commands:
+Alternatively, you can also generate a flamegraph by using the following commands:
> ```bash
> git clone --depth=1 https://github.com/BrendanGregg/FlameGraph
if (openedStepState.RunState == TestStepRunState.Complete)
{
- return "succesful steps are always reused";
+ return "successful steps are always reused";
}
else if(!IsPreviousMachineSame(openedStepState))
{
builder.AddMethod(new GetExtensionFunctionDelegate((self, handle, functionName, function) => DebugClient.NotImplemented));
builder.AddMethod(new GetWindbgExtensionApis32Delegate((self, api) => DebugClient.NotImplemented));
builder.AddMethod(new GetWindbgExtensionApis64Delegate((self, api) => DebugClient.NotImplemented));
- builder.AddMethod(new GetNumberEventFiltersDelegate((self, specificEvents, specificExceptions, arbitaryExceptions) => DebugClient.NotImplemented));
+ builder.AddMethod(new GetNumberEventFiltersDelegate((self, specificEvents, specificExceptions, arbitraryExceptions) => DebugClient.NotImplemented));
builder.AddMethod(new GetEventFilterTextDelegate((self, index, buffer, bufferSize, textSize) => DebugClient.NotImplemented));
builder.AddMethod(new GetEventFilterCommandDelegate((self, index, buffer, bufferSize, commandSize) => DebugClient.NotImplemented));
builder.AddMethod(new SetEventFilterCommandDelegate((self, index, command) => DebugClient.NotImplemented));
builder.AddMethod(new GetScopeSymbolGroupDelegate((self, flags, update, symbols) => DebugClient.NotImplemented));
builder.AddMethod(new CreateSymbolGroupDelegate((self, group) => DebugClient.NotImplemented));
builder.AddMethod(new StartSymbolMatchDelegate((self, pattern, handle) => DebugClient.NotImplemented));
- builder.AddMethod(new GetNextSymbolMatchDelegate((self, handle, buffer, buffesSize, matchSize, offset) => DebugClient.NotImplemented));
+ builder.AddMethod(new GetNextSymbolMatchDelegate((self, handle, buffer, bufferSize, matchSize, offset) => DebugClient.NotImplemented));
builder.AddMethod(new EndSymbolMatchDelegate((self, handle) => DebugClient.NotImplemented));
builder.AddMethod(new ReloadDelegate((self, module) => DebugClient.NotImplemented));
builder.AddMethod(new GetSymbolPathDelegate(soshost.GetSymbolPath));
[Command(Name = "logging", Help = "Enable/disable internal logging")]
public class LoggingCommand : CommandBase
{
- [Option(Name = "enable", Help = "Enable internal loggging.")]
+ [Option(Name = "enable", Help = "Enable internal logging.")]
public bool Enable { get; set; }
- [Option(Name = "disable", Help = "Disable internal loggging.")]
+ [Option(Name = "disable", Help = "Disable internal logging.")]
public bool Disable { get; set; }
private const string ListenerName = "Analyze.LoggingListener";
[Command(Name = "traverseheap", AliasExpansion = "TraverseHeap", Help = "Writes out a file in a format understood by the CLR Profiler.")]
[Command(Name = "analyzeoom", AliasExpansion = "AnalyzeOOM", Help = "Displays the info of the last OOM occurred on an allocation request to the GC heap.")]
[Command(Name = "verifyobj", AliasExpansion = "VerifyObj", Help = "Checks the object for signs of corruption.")]
- [Command(Name = "listnearobj", AliasExpansion = "ListNearObj", Help = "Displays the object preceeding and succeeding the address specified.")]
+ [Command(Name = "listnearobj", AliasExpansion = "ListNearObj", Help = "Displays the object preceding and succeeding the address specified.")]
[Command(Name = "gcheapstat", AliasExpansion = "GCHeapStat", Help = "Display various GC heap stats.")]
[Command(Name = "watsonbuckets", AliasExpansion = "WatsonBuckets", Help = "Displays the Watson buckets.")]
[Command(Name = "threadpool", AliasExpansion = "ThreadPool", Help = "Lists basic information about the thread pool.")]