Il y a plusieurs années, je l'ai écrit cette application Roulette sur .NET 1.1 en utilisant C# et Visual Studio.net: http://www.lonniebest.com/Roulette/De .NET à Mono - Un accident tout en martelant WinForms
Depuis Avril 2007, je me sers Ubuntu Linux exclusivement, alors aujourd'hui, j'ai essayé de recompiler ce vieux code en utilisant l'IDE MonoDevelop. À ma grande surprise, le code s'est bien construit sans erreurs, et j'ai pu exécuter cette application Windows Forms sur Ubuntu.
Tout a bien fonctionné (au début), quand je tournais la roue de la roulette un tour à la fois. Cela fonctionnerait même bien si je le disais de le faire tourner 10 fois de suite. Cependant, trop élevé (dans une rangée) que, les applications se bloque et tout ce que je vois dans le volet « Sortie d'application » du MonoDevelop est:
The application was terminated by a signal: SIGHUP
(Dans Visual Studio, je vous attendez à me diriger Une exception non gérée dans mon code, mais MonoDevelop semble seulement afficher la sortie ci-dessus dans le volet "Sortie d'application".)
Cette application martèle vraiment Windows Forms, elle met à jour de nombreux éléments de forme encore et encore à chaque spin, aussi vite que possible. Si vous l'exécutez sur la version .NET que j'ai publiée dans le lien ci-dessus, vous verrez qu'elle met à jour tous ces éléments de formulaire 100 fois par seconde. Ce n'est peut-être pas nécessaire, mais la demande dans son ensemble ne l'est pas non plus, et c'est ce que j'ai l'intention de faire.
Compilé avec Visual Studio et fonctionnant sous Windows .NET, les applications peuvent effectuer des millions de tours sans se bloquer. Alors, qu'est-ce qui pourrait me permettre de rendre ce code plus résilient dans Mono/Linux, à la lumière du crash "SIGHUP" ci-dessus?
J'ai joint la solution MonoDevelop à ce rapport de bogue: https://bugzilla.novell.com/show_bug.cgi?id=688014
Une chose que je peux dire au sujet de votre Roulette ... Je n'est pas biaisé sûr .. :-P –
fichier Plase un rapport de bogue sur le tracker Mono et fixez votre code. – skolima
Avez-vous utilisé l'outil Moma? Voir http://www.mono-project.com/MoMA – sehe