Please enable JavaScript.
Coggle requires JavaScript to display documents.
4.1 Debug (Сode Сontract (editor extension) (Contract.Ensures -…
4.1 Debug
Сode Сontract
(editor extension)
Contract.Ensures - postconditions;
Preconditions
- conditions that must be true when the method gets called;
Invariants
(invariants on class methods) - remain true while the program is running;
Postconditions
- conditions that must be true when it finishes execution;
Contract.ContractFailed
Contract.Requires - preconditions;
Contract.Invariant - contracts on Method variables;
[ContractClass(typeof(ValidationContract))]
[ContractClassFor(typeof(IValidation))]
Requires
and
Ensures
must always be at the start of a method;
Contract.Assume
- is not a precondition and not a postcondition;
2018
troubleshoot
security
errors
performence (Performance Wizard)
Profiling
is the process of analyzing a
running computer program
CPU sampling
gathers information every few CPU cycles.
Sampling is lightweight. It doesn’t continually analyze the CPU or take a deep look into the application and call stack.
Instrumentation
is a
more invasive
procedure; The performance tool adds code to the assemblies being monitored; This code allows examine timing for every method in the assembly as well as calls in and out of the assembly.
.NET Memory allocation
can work in two different ways: sampling and instrumentation.
Resource contention data (Concurrency)
implement
tracing
logging
debugging
debugging - intelliTrace
health monitoring
enable
configure
performance monitor
configure app insights runtime telementry
tools
CLR Exceptions
Continue when User Unhandled Exception (
temporary disables "Break When Thrown" option
)
Break When Thrown
custom notes
remote dll debugging
custom module
can cause issues
such as intermittent thread locking