See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 27663|Vastuse: 0

[Allikas] .net/c# log4net vea erik ei salvesta rea numbri põhjust

[Kopeeri link]
Postitatud 03.08.2017 14:13:01 | | | |
Hiljuti paigaldati projekt tootmiskeskkonnas ja avastati, et mõned meetodid viskavad välja anomaalseid sõnumeid

Kuid antud on ainult ebanormaalne veainfo, ebanormaalset reanumbrit ei ole, vaid ainult see, et mudeli teisendamisel on probleem teatud meetodis

Aga las ma võrdlen neid ükshaaval, see on liiga tüütu, miks mitte salvestada vale reanumber?

log4net logi konfiguratsioon on järgmine:

C# Log4net logikonfiguratsiooni selgitatakse üksikasjalikult
http://www.itsvse.com/thread-2892-1-1.html
(Allikas: Arhitekt)

Kirjutasin teadlikult erandsõnumi Home/Index meetodis oma kohalikus arvutis, et näha, kas rea number salvestatakse:



Leidsin, et vealogifail salvestab rea numbri, mis kindlasti ei ole log4net konfiguratsiooni probleem, sest mõlemal pool on konfiguratsioon sama

Kas probleem võib olla kompileerimisrežiimis???

Minu kohalik arvuti on silumisrežiimis ja ametliku serveri kompileeritud dll on väljalaskerežiimis

Seejärel muutsin kohaliku projekti väljalaskerežiimile ja avastasin, et see oli endiselt plaadirea number.

Siis, Baidu, esimene lause:Pead kopeerima .pdb faili, mis vastab dll-ile

Kas see on probleem? Seejärel läksin otse bin kataloogi, kustutasin .pdb faili, mis vastab dll-ile, ja värskendasin veebilehte, leides erandlogi järgmiselt:



Ja tõepoolest, ebanormaalset rea numbrit ei salvestata!!!!

Kas see on tõesti .pdb probleem!! Pead hoidma .pdb faili, et rea number salvestataks, kui see on ebanormaalne!!



Milleks on PDB fail?


PDB failid: Mida iga arendaja peab teadma

Mis on PDB fail?

Enamik arendajaid peaks teadma, et PDB-faile kasutatakse tarkvaralise silumise abistamiseks. Aga kuidas ta täpselt töötab, seda me ei pruugi teada. See artikkel kirjeldab PDB-failide salvestust ja sisu. See kirjeldab ka, kuidas silur leiab PDB-faili, mis vastab binaile, ja kuidas silur leiab lähtekoodifaili, mis vastab binay'le. See artikkel on mõeldud kõigile natiivsetele ja hallatud arendajatele.

Enne kui alustame, defineerime kaks mõistet: privaatne ehitus, mida kasutatakse arendaja enda masinal genereeritud ehituse tähistamiseks; avalik ehitus, mis tähendab ehitust, mis genereeritakse avaliku ehitusmasina peal. Privaatne ehitus on suhteliselt lihtne, sest PDB ja binay asuvad samas kohas ning tavaliselt on probleemid avaliku ehitusega seotud.  

Kõige olulisem, mida kõik arendajad peavad teadma, on see, et "PDB-failid on sama olulised kui lähtekood", ilma milleta sa isegi siluda ei saa. Avaliku ehituse puhul peab sümboliserver salvestama kõik PDB-d ning kui kasutaja teatab veast, leiab silur automaatselt vastava PDB-faili binay's ning nii Visual Studio kui ka Windbg teavad, kuidas sümboliserverile ligi pääseda. Enne PDB ja binay salvestamist sümboliserverisse tuleb ka PDB käivitamise lähteindeks, mis seob PDB ja allika.  

Järgmine osa eeldab, et sümboliserver ja lähteserveri indekseerimine on juba seadistatud. TFS2010 saab teha nii lihtsalt kui allika indekseerimine ja sümboliserveri kopeerimine uue ehituse jaoks.

2. PDB faili sisu

PDB sisu ametlikult alustades ei ole PDB avalikult kättesaadav failivorming, kuid Microsoft pakub API-d, mis aitab PDB-lt andmeid saada.

Natiivse C++ PDB sisaldab järgmist teavet:
* avalikud, privaatsed ja staatilised funktsiooniaadressid;
* Globaalmuutuja nimi ja aadress;
* Parameetrite ja lokaalsete muutujate nimed ning nihked virnas;
* klassi, struktuuri ja andmete tüübimääratlused;
* Frame Pointer Unmission andmed natiivse virna läbimiseks x86 peal;
* Nimi ja ridade arv lähtekoodifailis;

.NET PDB sisaldab ainult kahte infoosa:
* Lähtekoodifaili nimi ja ridade arv;
* ja lokaalmuutuja nimi;
* Kõik muud andmed on juba lisatud . NET metaandmed;  





Eelmine:Ketas on võrguühenduseta administraatori kehtestatud poliitika tõttu
Järgmine:Leia veebitehnik, kes alustab koos ettevõtet
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com