summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorVance Morrison <vancem@microsoft.com>2018-10-10 14:04:57 -0700
committerGitHub <noreply@github.com>2018-10-10 14:04:57 -0700
commit6f44694e471309768bd3f66528fbf97c414e5649 (patch)
tree19a215d49f8ca649540cf30640980c6432437c9a /Documentation
parenta6159a640f09bc2628005b588340773a316969cf (diff)
downloadcoreclr-6f44694e471309768bd3f66528fbf97c414e5649.tar.gz
coreclr-6f44694e471309768bd3f66528fbf97c414e5649.tar.bz2
coreclr-6f44694e471309768bd3f66528fbf97c414e5649.zip
Added advice about using ZapDisable to get symbols
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/project-docs/linux-performance-tracing.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/Documentation/project-docs/linux-performance-tracing.md b/Documentation/project-docs/linux-performance-tracing.md
index 05a7273be9..fa4e39afad 100644
--- a/Documentation/project-docs/linux-performance-tracing.md
+++ b/Documentation/project-docs/linux-performance-tracing.md
@@ -125,6 +125,19 @@ VERSION is 2.1.0 the commands to update crossgen would be
Once you have done this, perfcollect will use crossgen to include framework symbols. The warning that perfcollect used to
issue should go away. This only has to be one once per machine (until you update your runtime).
+## Alternative turn off use of precomppiled code
+
+If you don't have the abiltiy to update the .NET Rutnime (to add crossgen), or if the above procedure did not work
+for some reasion, there is another approach to getting framework symbols. You can tell the runtime to simply
+not use the precompiled framework code. The all code will be Just in time compiled and the special crossgen tool
+is not needed. This works, but will increase startup time for your code by something like a second or two. If you
+can tolerate that (you probably can), then this is an alternative. You were already setting envinronment variables
+in order to get symbols, you simply need to add one more.
+ > ```bash
+ > export COMPlus_ZapDisable=1
+ > ```
+With this change you should get the symbols for all .NET code.
+
# Collecting in a Docker Container #
Perfcollect can be used to collect data for an application running inside a Docker container. The main thing to know is that collecting a trace requires elevated privileges because the [default seccomp profile](https://docs.docker.com/engine/security/seccomp/) blocks a required syscall - perf_events_open.