• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    ELECTRICKOTA
    ELECTRICKOTA --- ---
    TOOMIX: My bad, omylem jsem si umazal inicializaci knihovny, už mi to fajčí, a přepínám si VS do EN ;)
    TOOMIX
    TOOMIX --- ---
    ELECTRICKOTA: zkontroluj si zapínání timeru a koukni, jestli se vůbec v tom Status() volá ten foreach a prochází to dál
    ELECTRICKOTA
    ELECTRICKOTA --- ---
    TOOMIX: Oh, děkuji mocný pane, taková blbost a stokrát jsem ji přehlédl :D Teď jdu zjistit proč nefunguje volání knihovny openhardwaru ve funkci Status(); Nějaké tipy?
    TOOMIX
    TOOMIX --- ---
    ELECTRICKOTA: no určitě, protože to *.designer.cs vygenerovalo s českýma komentářema. Český IDE je zlo
    ELECTRICKOTA
    ELECTRICKOTA --- ---
    TOOMIX: Jo asi mám :D Jak se mi to instalovalo tak to používám :D
    TOOMIX
    TOOMIX --- ---
    ELECTRICKOTA: uf, že ty máš to Visual Studio přepnutý do češtiny...
    TOOMIX
    TOOMIX --- ---
    ELECTRICKOTA: smaž v konstruktoru Form1.cs jedno volání metody InitializeComponent() máš to tam dvakrát, a proto ti to dubluje ty textboxy atd...
    ELECTRICKOTA
    ELECTRICKOTA --- ---
    ARANIUS: mas to tu, jako je to mozny, ale nevím kde tu chybu hkedat, ani si neuvedomuju jak nastala.
    ELECTRICKOTA
    ELECTRICKOTA --- ---
    ARANIUS
    ARANIUS --- ---
    ELECTRICKOTA: Hod nikde zdrojaky, znie to ako keby si mal bordel v definíciach a pomenovaní objektov ;)
    ELECTRICKOTA
    ELECTRICKOTA --- ---
    Cau chlapi, ted asi necely mesic jsem se zacal ucit v C,, bo hratky s Arduinem. Niceme jsem ted krapet v koncich a potrebuju poradit. Pro jednoduchy programek pro komunikaci s Arduinem jsem pouzil Visual studio, a tedy se za pochodu ucim i C#, a muj aktualni problem je, ze bud jsem se zblaznil ja nebo Visual Studio, pokud si sestavím program tak mi nesmyslne zdubloval nektere komponenty(konkretne text box a label - v navrhu ani nikde v kodu jsem nic zdvojeného nezaznamenal), navíc kdyz jsem tohle vyresil smazanim puvodnich komponent a vlozenim novych, tak se mi muj program zacal chovat divne, jakoby preskakoval radky myho kodu, nebo vubec nevolal mnou napsane funkce. Vim ze je to dost zevrubne, detaily klidne i zdrojak poskytnu. Hlavne abych vedet proc se to deje a co jsem nevedomky udelal spatne. Díky za kazdou radu!
    JANFROG
    JANFROG --- ---
    MAIMONIDES: Ne nutne. Debugger muze mirne zmenit memory layout debugovaneho procesu, muze zmenit casovani, pamet atd. Ver nebo ne, tohle uz jsem take videl a ne jednou. Ja osobne uz neverim nicemu...
    NECROMAN
    NECROMAN --- ---
    TOOMIX: .NET Core přichází s novinkou Span<T> a Memory<T>, které se dají použít právě na podobné low-level věci. Určitě je dobré o nich vědět:
    https://msdn.microsoft.com/en-us/magazine/mt814808.aspx?f=255&MSPPError=-2147217396
    MAIMONIDES
    MAIMONIDES --- ---
    JANFROG: Pokud je chyba u mě, tak by to ale nastávalo za všech okolností, nikoliv jen v tom jednom případě (jendebug, ale jenom v mixed modu, když pustim c++ a postupně vlezdu do .net). Pokud to jen pustim, ale netrasuju, všechno chodí.
    JANFROG
    JANFROG --- ---
    MAIMONIDES: call na constantni addressu, neco jako "call $0xDEADBEEF"? V tom pripade s nejvetsi pravdepodobnosti bud ta adresa neni namapovana ve tvem adresnim prostoru nebo dana stranka neni executable. vmmap ze systemtools Ti rekne co z toho je pravda.

    Ten call je v clr.dll nebo JIT / AOT kodu? Pokud je v clr.dll je to divny. V tom pripade bych si jeste overil, ze ten kod je stejny v souboru jako v debugovanem imagi (abys alespon vedel, jestli nekdo "patchuje" ten call nebo ne.
    Pokud je to JIT / AOT kod nebo to nekdo "patchuje" pak zase HW breakpoint abys vedel kdo to dela...
    TOOMIX
    TOOMIX --- ---
    MAIMONIDES: já bych skončil někde u V09. Použít strukturu by mě asi nenapadlo a o ArrayPool jsem nikdy neslyšel, takže za mě fajn, že to někdo sepsal.
    MAIMONIDES
    MAIMONIDES --- ---
    TOOMIX: Člověka asi rovnou napadne, že když potřebuje parsovat velký množství dat, tak indexy do stringu budou lepší než linq, ale nenapadne ho o tom sepsat článek:)
    MAIMONIDES
    MAIMONIDES --- ---
    JANFROG: Jo, na to jsem našel nedávno našel odvahu a bohužel to tak neni. V asm to buhužel neni null pointer, ale zkrátka asm call na konstantní adresu, která je na zakázanym místě (resp v oblasi, kde ti i debugger odmítne ukázat obsah a píše ??). Debugovat v ILu zatim neumim, ale asi budu muset:)
    TOOMIX
    TOOMIX --- ---
    Jak se při parsování csv dostat z požadavku na 7GB RAM na 32kB

    https://medium.com/@indy_singh/strings-are-evil-a803d05e5ce3
    JANFROG
    JANFROG --- ---
    MAIMONIDES: No jo, to pak bude zajimavejsi - co ja bych udelal na Tvem miste je, ze bych se podival na kod (machine code) kde to pada. Tohle vypada na dereferenci null pointeru, takze bych se podival odkud se bere ten null pointer a dal si HW watchpoint a adresu, odkud se bere. Pak to pustil znovu zkoumal to od toho mista, kde to prepise to hodnotu...To ovsem vyzaduje mit tu adresu stabilni (nebo to cele bezet pod simulatorem coz je jeste jina liga).

    Jina bug nemusi byt nutne v CRL, muze by kdekoli, klidne v debuggeru nebo i v Tvem kodu.
    Kliknutím sem můžete změnit nastavení reklam