Компьютер зависает из-за ошибки обработки в Visual Studio - PullRequest
0 голосов
/ 26 февраля 2019

Я столкнулся с довольно странной проблемой при написании кода на C #.У меня есть следующие классы:

  • Класс узла:

    class Node
    {
        public char value;
        public Node left;
        public Node right;
    
        public Node(char _value)
        {
            value = _value;
            left = null;
            right = null;
        }
    }
    
  • Класс дерева:

    class Tree
    {
        private Node root;
    
        public Tree(Node _root)
        {
            root = _root;
        }
    
        public void Inorder(Node root)
        {
            Inorder(root.left);
            Console.WriteLine(root.value);
            Inorder(root.right);
        }
    }
    
  • В Main я написал что-то вроде:

       Node n1 = new Node('a');
       Tree tree = new Tree(n1);
       tree.Inorder(n1);
    

В консоли на короткое время появляется необработанное исключение, затем мой компьютер вылетает и «синий экран смерти»появляется следующая информация:

  • Стоп-код: KMODE_EXCEPTION_NOT_HANDLED
  • Что не удалось: clipsp.sys

Когда я пытаюсь открыть свой Основной файлпосле перезагрузки компьютера он содержит следующее:

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Mi

Теперь я знаю, что мой код неверен (существует нулевое необработанное исключение, потому что оно пытается найти левого потомка «нулевого» узла), но я почти уверен, что мой компьютер не должен так себя вести.

Я отключил функцию быстрого запуска, когда обнаружил ее в Интернете, но она все равно дает сбой.Если кто-то знает, где проблема, я был бы благодарен.

...