31 lines
1.7 KiB
Markdown

# Debugging Client Side JS
{{#include ../../banners/hacktricks-training.md}}
Kurekebisha JS upande wa mteja kunaweza kuwa shida kwa sababu kila wakati unabadilisha URL (ikiwemo mabadiliko katika vigezo vilivyotumika au thamani za vigezo) unahitaji **kurekebisha breakpoint na kupakia tena ukurasa**.
### `debugger;`
Ikiwa utaweka mstari `debugger;` ndani ya faili la JS, wakati **browsers** inatekeleza JS itasimamisha **debugger** mahali hapo. Hivyo, njia moja ya kuweka breakpoints za kudumu ingekuwa **kupakua faili zote kwa ndani na kubadilisha kuweka breakpoints katika msimbo wa JS**.
### Overrides
Mabadiliko ya kivinjari yanaruhusu kuwa na nakala ya ndani ya msimbo ambayo itatekelezwa na kutekeleza hiyo badala ya ile kutoka kwa seva ya mbali.\
Unaweza **kufikia mabadiliko** katika "Dev Tools" --> "Sources" --> "Overrides".
Unahitaji **kuunda folda tupu ya ndani itakayotumika kuhifadhi mabadiliko**, hivyo tengeneza tu folda mpya ya ndani na uweke kama override katika ukurasa huo.
Kisha, katika "Dev Tools" --> "Sources" **chagua faili** unayotaka kubadilisha na kwa **kubonyeza kulia chagua "Save for overrides"**.
![](<../../images/image (742).png>)
Hii it **nakala faili la JS kwa ndani** na utaweza **kubadilisha nakala hiyo katika kivinjari**. Hivyo ongeza tu amri **`debugger;`** popote unapotaka, **hifadhi** mabadiliko na **pakiwa tena** ukurasa, na kila wakati unapoingia kwenye ukurasa huo wa wavuti **nakala yako ya ndani ya JS itapakiwa** na amri yako ya debugger itabaki mahali pake:
![](<../../images/image (594).png>)
## References
- [https://www.youtube.com/watch?v=BW\_-RCo9lo8\&t=1529s](https://www.youtube.com/watch?v=BW_-RCo9lo8&t=1529s)
{{#include ../../banners/hacktricks-training.md}}