wyjątki w programie na systemie linux

wyjątki w programie na systemie linux
Dominik Kiełtyka
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 26
0

Uruchomiłem ten sam pogram na systemie: windowsie oraz linux. Mój problem polega na tym, że linux nie pokazuje całego stack trace. Nie wiadomo w której linii pojawił się wyjątek. Czy wiecie może jak to naprawić? Kod umieszczam poniżej.

Wynik z linuxa:

Kopiuj

Exception from method ThrCommunication.ScanSystem8
Exception method ThrCommunication.ScanSystem8 message : Object reference not set to an instance of an object
 Stack Trace :   at ConsoleApp2.Tes.tets () [0x00000] in <filename unknown>:0
  at ConsoleApp2.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
 Inner exception :
Exception from method ThrCommunication.ScanSystem8 end.

System.NullReferenceException: Object reference not set to an instance of an object
  at ConsoleApp2.Tes.tets () [0x00000] in <filename unknown>:0
  at ConsoleApp2.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0

Wynik z windowsa:

Kopiuj
Exception from method ThrCommunication.ScanSystem8
Exception method ThrCommunication.ScanSystem8 message : Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.
 Stack Trace :    w ConsoleApp2.Tes.tets() w C:\Users\OEM\Desktop\ConsoleApp2\Tes.cs:wiersz 15
   w ConsoleApp2.Program.Main(String[] args) w C:\Users\OEM\Desktop\ConsoleApp2\Program.cs:wiersz 23
 Inner exception :
Exception from method ThrCommunication.ScanSystem8 end.

System.NullReferenceException: Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.
   w ConsoleApp2.Tes.tets() w C:\Users\OEM\Desktop\ConsoleApp2\Tes.cs:wiersz 15
   w ConsoleApp2.Program.Main(String[] args) w C:\Users\OEM\Desktop\ConsoleApp2\Program.cs:wiersz 23
Method Main line 31
KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5549
0

wygląda jakby na linuksa zostało to skompilowane z innymi przełącznikami, Bez opcji debug czy jak to się w C# nazywa

Dominik Kiełtyka
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 26
0

program był kompilowany na windowsie, na linuxie uruchomiany za pomocą polecenia
mono --debug ConsoleApp2.exe -config=Debug, ale to nie działa poprawnie :)

neves
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1114
1

a plik *.pdb wrzuciłeś na linuksa?

Dominik Kiełtyka
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 26
0

rozwiązanie:
update mono i skopiowanie pliku pdb

Czy jest sposób w visualu, żeby po skompilowaniu plik pdb był dołączany do exe pliku? Czy jest sposób na obsłużenie wyjątku bez pliku pdb, żeby dowiedzieć się z jakiego miejsca się pojawił wyjątek.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.