Run these on the crash dump to get a listing of all CLR threads at the moment of the dump.
.loadby sos clr
~*e!clrstack
/* Gist for minimal repro for NHibernate issues | |
* | |
* 1. Create new (e.g. .NET 4.5.1) class library; | |
* 2. Add NHibernate (e.g. 4.0.3) via NuGet; | |
* 3. Add FluentNHibernate (e.g. 2.0.1) via NuGet; | |
* 4. Add NUnit (e.g. 2.6.4) via NuGet; | |
* 5. Create database "NhTestDb" on Sql Server "localhost" (or adjust for your specific situation); | |
* 6. Compile; | |
* 7. Run tests (should be green). | |
* |
using NUnit.Framework; | |
using System; | |
using System.Collections; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Reflection; | |
namespace MyProject.Dto.Tests | |
{ | |
[TestFixture] |
// This regex is a basic check to find all Catch{} blocks | |
// where a suspect throw statement is found (e.g. a state- | |
// ment that mucks up the call stack by doing `throw ex;` | |
// instead of `throw;`. | |
// | |
// It'll probably give false positives and have misses too. | |
catch[^{]*\{[^{]*throw[^;][^}]*} |
// CC-BY-SA 3.0, implementation by @LBushkin from http://stackoverflow.com/a/2776689/419956 | |
public static class StringExtensions | |
{ | |
public static string Truncate(this string value, int maxLength) | |
{ | |
if (maxLength < 0) throw new ArgumentOutOfRangeException("maxLength"); | |
if (string.IsNullOrEmpty(value)) return value; | |
return value.Length <= maxLength ? value : value.Substring(0, maxLength); | |
} | |
} |
Run these on the crash dump to get a listing of all CLR threads at the moment of the dump.
.loadby sos clr
~*e!clrstack
namespace DoubleVsDecimal | |
{ | |
using System; | |
using NUnit.Framework; | |
[TestFixture] | |
public class RangeTests | |
{ | |
static readonly decimal[] interestingDecimals = new decimal[] { | |
decimal.MinValue, |
<# | |
# It can be called like this: | |
$url ="http://localhost:12345/home/upload" | |
$form = @{ description = "Test 123." } | |
$pwd = ConvertTo-SecureString "s3cr3t" -AsPlainText -Force | |
$creds = New-Object System.Management.Automation.PSCredential ("john", $pwd) | |
Get-ChildItem *.txt | Send-MultiPartFormToApi $url $form $creds -Verbose -WhatIf | |
#> |
using System; | |
using System.ServiceModel; | |
using System.ServiceModel.Description; | |
using System.Threading.Tasks; | |
namespace WcfMinimalTest | |
{ | |
// WARNING! This minimal repro does no cleanup or error handling whatsoever!! | |
// Loosely based on http://stackoverflow.com/a/7833188/419956 by @Anuraj |
# Normal, colored prompt: | |
#function Prompt | |
#{ | |
# $promptString = "PS " + $(Get-Location) + ">" | |
# Write-Host $promptString -NoNewline -ForegroundColor Yellow | |
# return " " | |
#} | |
# Posh-Git prompt | |
function prompt { |
/* | |
* Create a new Class Library and copy/paste this file over the class1.cs file. | |
* | |
* On Package Mananager Console: | |
* | |
* @("MSTest.TestFramework","MSTest.TestAdapter","EntityFramework") | foreach { Install-Package $_ } | |
* | |
* Run `sqllocaldb c soquestion` to create the instance. | |
* Afterwards create database `TestDb` e.g. with SSMS on that instance. | |
*/ |