Feedbacks sur la garantie de la Surface RT

2013-10-20 2 Min. lecture Microsoft

Depuis novembre 2012, j’ai une Surface RT de 32Go que j’utilise pour aller sur internet, mail, news, etc. Tout fonctionnait très bien jusqu’à la semaine derrière où une tâche jaunâtre est apparue dans la partie inferieure droite de l’écran (à côté du connecteur pour le chargeur).

Après quelques recherches sur mon moteur de recherche préféré, je constate que je ne suis pas le seul à avoir ce soucis (exemple ici). Certaines personnes ont constaté ce problème dès la réception de la Surface alors que d’autres comme moi seulement après plusieurs mois. Tous les feedbacks parlent de remplacement sans soucis par Microsoft.

continuer la lecture

Skype et CPU élevé

2013-07-30 3 Min. lecture Debug

Depuis quelques temps, j’ai remarqué que mon Skype consommait beaucoup de CPU alors qu’il était simplement démarré et connecté à mon compte.

On peut le voir sur le screenshot de Process Explorer ci-dessous.

process explorer

Dans l’onglet “Threads”, on voit qu’un seul thread (TID = 8556) consomme la quasi totalité du CPU utilisé par Skype.

image

Après avoir pris plusieurs dumps avec ProcDump (Skype semble ne pas trop aimer être breaké par WinDbg, il lance un nombre incalculable d’access violation lors de la libération du processus).

continuer la lecture

Afficher les chaînes de caractères situées dans un processus ou un dump

2013-05-31 6 Min. lecture Debug

Récupérer la liste des chaînes de caractères (string) présentes dans la mémoire utilisée par un exécutable peut être intéressant (Mise en place d’interning par exemple).

Cet article montre plusieurs manières de récupérer ces chaînes de caractères directement dans un processus live ou un dump.

Dans les exemples ci-dessous, l’application console (.NET) récupère un mot situé sur une page web. Le but est de retrouver ce mot en mémoire.

Single word

continuer la lecture

[TFS] MSBUILD : Logger error MSB4104: Failed to write to log file "C:\a\src\<Project>\<SolutionName>\<SolutionName>.log dans TFS

2013-01-29 2 Min. lecture Team Foundation Service

Grâce à Team Foundation Service disponible depuis peu, il est possible de faire de l’intégration continue directement via ce TFS online mais également de publier un site web sur Azure à chaque check-in.

Cette étape se fait en quelques clicks et est très simple à mettre en place.

La mise en place d’intégration continue sur Azure ou sur un TFS classique peut reserver quelques surprises et notamment l’erreur suivante lors de la build :

continuer la lecture

Webcasts sur le debugging

2013-01-03 2 Min. lecture Debug

Show très intéressant sur le debugging animé par Larry Larsen, Chad Beeder et Andrew Richards composé de webcasts d’une trentaine de minutes qui paraissent toutes les semaines.

Les animateurs présentent les outils de la suites SysInternals, expliquent comment utiliser WinDBG pour debugger les applications .NET et natives, analyser des dumps de BSOD, etc…

La plupart des concepts sont expliqués assez clairement même si certains épisodes (notamment sur les drivers) ont un niveau technique assez élevé.

continuer la lecture

Rendre les adresses mémoire cliquables dans WindDBG

2012-12-26 1 Min. lecture Debug

Petite astuce donnée dans l’émission DefragTools rendant l’utilisation de WinDBG un peu plus “clicky clicky” avec la version de SOS pour .NET 4.

Par défaut, lorsqu’on affiche les objets de la stack .NET avec !dso par exemple, les adresses mémoire pointant vers les objets ne sont pas cliquables et il est necessaire de faire un :

0:000> !DumpObj xxxxxxxx

pour accéder au contenu de l’objet :

WinDBG

En tapant la commande :

0:000> .prefer_dml 1

on active les liens pour certaines commandes

continuer la lecture

[.NET] Linq et type dynamique, attention au piège en .NET

2012-12-18 4 Min. lecture .NET

Problème

Le code suivant affiche « Numbers greater than 3 are : 6 7 » au lieu du « Numbers greater than 3 are : 4 5 6 7 » attendu.

Savez-vous pourquoi ?

class Program
{
    static void Main(string[] args)
    {
        List<Int32> allNumbers = new List<Int32>() { 1, 2, 3, 4, 5, 6, 7 };

        List<dynamic> greaterNumbers = new List<dynamic>();
    
        // Finding all numbers from the "allNumbers" list that are greater 
        // than "currentNumber"
        for (Int32 currentNumber = 0; currentNumber < 5; currentNumber++)
        {
            dynamic item = new ExpandoObject();
            item.Number = currentNumber;
            item.GreaterNumbers = allNumbers.Where(e => e > currentNumber);
            greaterNumbers.Add(item);
        }
        // Here greaterNumbers contains 5 items
    
        // We want to display numbers greater than 3
        dynamic greaterThan3 = greaterNumbers
                               .FirstOrDefault(i => i.Number == 3);
    
        if (greaterThan3 != null)
        {
            Console.Write("Numbers greater than 3 are : ");
            foreach (Int32 greaterNumber in greaterThan3.GreaterNumbers)
            {
                Console.Write(greaterNumber);
                Console.Write(' ');
            }
            Console.WriteLine();
        }
    }
}

Explication

Where, est une méthode d’extension proposée par LINQ. Cette méthode s’exécute en différé, c’est-à-dire que le Where ne sera exécuté que lorsqu’on voudra accéder à son résultat. Cette exécution différée est causée par la présence du mot clé « yield » dans l’implémentation de la méthode Where.

continuer la lecture

GeekComics disponible sur le store Windows 8

2012-12-03 1 Min. lecture Développement Windows8

Ma 1re application Windows 8 est disponible sur le store depuis quelques jours.

URL

http://apps.microsoft.com/webpdp/app/geekcomics/ff20600a-0a42-4c92-a278-e88a38249b6b

Description

GeekComics vous permet de lire vos bandes dessinées geek préférées tirées de xkcd (http://xkcd.com) et Geek and Poke (http://geekandpoke.typepad.com). Lisez vos BDs, recherchez une BD, partagez une BD que vous appréciez depuis votre ordinateur ou votre tablette.

KeyNotFoundException et Development Storage avec le Azure SDK 1.8

2012-11-07 1 Min. lecture Azure

Depuis la sortie du SDK Azure 1.8 (Octobre 2012) et de la DLL Microsoft.WindowsAzure.Storage.dll en version 2.0, la récupération de la chaîne de connexion du compte de stockage sur l’émulateur avec la ligne de code suivante :

CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageAccount"));

et la configuration des settings suivante :

configuration

lance une KeyNotFoundException avec le message suivant : “The given key was not present in the dictionary”.

Pour éviter le problème, changer la chaîne de connexion en :

continuer la lecture

Utiliser le service TFS fourni par Windows Azure

2012-10-30 3 Min. lecture Azure Non Classé

UPDATE : TFSPreview rentre en version finale aujourd’hui et se trouve désormais à l’adresse suivante : https://tfs.visualstudio.com.

Comme prévu, une offre gratuite est présente. Les fonctionnalités sont disponibles à cette adresse : https://tfs.visualstudio.com/en-us/pricing/information/.

Les liens ci-dessous ont été mis à jour avec les nouvelles urls et les captures d’écran ne changent pas.

Depuis quelques mois, Microsoft met à disposition un TFS en mode cloud permettant à tout le monde de bénéficier d’un contrôle de code source. Pour l’instant en preview, ce service est gratuit. Certaines options deviendront par la suite payantes lorsque le projet passera en version finale. Pour plus d’informations, rendez-vous sur la page correspondante : https://tfs.visualstudio.com/en-us/pricing/information/.

continuer la lecture
Articles plus anciens messages plus récents