heby
2021-10-25 10:22:01 UTC
Cześć.
Zaobserwowałem problem przy migracji Win10->Win11 z pewnym software.
Mianowicie przestały działać wewnętrzne przekierowania stderr/out (w
sensie, że exe sam sobie przekierowuje je do pipes i loguje wewnętrznie
każdy wylatujący message z mojej apliakcji), w sytuacji gdy aplikacja
nie posiada "oficjalnie" konsoli.
Problem jest tajemniczy i do końca nie wiem co jest przyczyną.
Podejrzewam że handle w windowsie11 zachowują się inaczej i dotyczy to
tylko takich machlojek z stdoutin, więc nie potrafie znaleźc podobnych
problemów w necie, pewnie mało kto to robi.
Na razie szukam w ciemno, ale... może ktoś widział lub słyszał i będzie
uprzejmy zaproponować konkretny tool.
Coś, co potrafi:
a) odczytać otwarte handles w danym procesie
b) pokazać mi, że handle 2 i handle 7 sa połaczone rurką
c) pokazać mi jaki wątek stoi obecnie na read w jakim handle (no, to
mogę ręcznie od biedy)
d) pokaże mi gdzie obecnie wskazują deskryptory stdout/in.
e) fajnie, jak by było pluginem do VS
Robocza hipoteza jest taka, że mimo prawidłowego spięcia stdout/err z
rurką i czytania danych, coś się w win11 cacheuje i tego typu numery już
nie przechodzą. Zaznaczam, że robie zgodnie z opisem z okolic _dup i
_dup2 na MSDN.
Google wymęczony, bez rezultatu.
Zaobserwowałem problem przy migracji Win10->Win11 z pewnym software.
Mianowicie przestały działać wewnętrzne przekierowania stderr/out (w
sensie, że exe sam sobie przekierowuje je do pipes i loguje wewnętrznie
każdy wylatujący message z mojej apliakcji), w sytuacji gdy aplikacja
nie posiada "oficjalnie" konsoli.
Problem jest tajemniczy i do końca nie wiem co jest przyczyną.
Podejrzewam że handle w windowsie11 zachowują się inaczej i dotyczy to
tylko takich machlojek z stdoutin, więc nie potrafie znaleźc podobnych
problemów w necie, pewnie mało kto to robi.
Na razie szukam w ciemno, ale... może ktoś widział lub słyszał i będzie
uprzejmy zaproponować konkretny tool.
Coś, co potrafi:
a) odczytać otwarte handles w danym procesie
b) pokazać mi, że handle 2 i handle 7 sa połaczone rurką
c) pokazać mi jaki wątek stoi obecnie na read w jakim handle (no, to
mogę ręcznie od biedy)
d) pokaże mi gdzie obecnie wskazują deskryptory stdout/in.
e) fajnie, jak by było pluginem do VS
Robocza hipoteza jest taka, że mimo prawidłowego spięcia stdout/err z
rurką i czytania danych, coś się w win11 cacheuje i tego typu numery już
nie przechodzą. Zaznaczam, że robie zgodnie z opisem z okolic _dup i
_dup2 na MSDN.
Google wymęczony, bez rezultatu.