public void Stackwalk_NoFramesCondenseWorks() { var stackwalk = new Stackwalk(new ConfigurationBuilder().Build()); // ReSharper disable StringLiteralTypo var result = stackwalk.CondenseCallstack(@"Thread 25 (crashed) <no frames> "); Assert.Equal(@" <no frames> ", result); // ReSharper restore StringLiteralTypo }
public void Stackwalk_CallstackCondenseWorks() { var stackwalk = new Stackwalk(new ConfigurationBuilder().Build()); // ReSharper disable StringLiteralTypo var result = stackwalk.CondenseCallstack(@"Thread 0 (crashed) 0 Thrive + 0x922fd6 rax = 0x0000000000000000 rdx = 0x000000000016c7f0 rcx = 0x0000000000000ad9 rbx = 0x00007ffdf248fe80 rsi = 0x00000000000428e9 rdi = 0x0000000000000001 rbp = 0x00000000038a3740 rsp = 0x00007ffdf248fe70 r8 = 0x0000000000000000 r9 = 0x0000000000000001 r10 = 0x00007ffdf25ed170 r11 = 0x00007ffdf25ed1b0 r12 = 0x00007ffdf2490798 r13 = 0x00007ffdf248fe80 r14 = 0x00000000038a3740 r15 = 0x00000000029c6d00 rip = 0x0000000000d22fd6 Found by: given as instruction pointer in context 1 Thrive + 0x5f830e rsp = 0x00007ffdf248fe80 rip = 0x00000000009f830e Found by: stack scanning 2 ld-linux-x86-64.so.2 + 0xaa00 rsp = 0x00007ffdf248fef0 rip = 0x00007f085d5d7a00 Found by: stack scanning 3 Thrive + 0x1b80c10 rsp = 0x00007ffdf248ff00 rip = 0x0000000001f80c10 Found by: stack scanning "); Assert.Equal(@" 0 Thrive + 0x922fd6 1 Thrive + 0x5f830e 2 ld-linux-x86-64.so.2 + 0xaa00 3 Thrive + 0x1b80c10 ", result); // ReSharper restore StringLiteralTypo }