[? DAN ARMADARAS?] હાય, હું [છું? ડેન Armadaras?]. આજે, અમે જઈ રહ્યાં છો ડિબગીંગ જોઈ શકાય છે. માત્ર અમે જતા હોય છે કેટલીક ટેકનિક વિશે વાત છે, પણ અમે જોવા માટે જઈ રહ્યાં છો કેટલાક લક્ષણો સમાયેલ પરવાનગી આપે છે કે CS50 IDE અંદર તમે સરળતાથી એક કાર્યક્રમ ડિબગ. માત્ર એક ઉદાહરણ ખોટું ન જઇ શકો છો કે જે કંઈક અને તે ખરેખર કંઈક છે અમે પહેલાથી જ જોઇ છે. આ કિસ્સામાં, આ એક સી પ્રોગ્રામ છે કે, વપરાશકર્તા માંથી પૂર્ણાંક સ્વીકારે બે દ્વારા તેને વિભાજિત કરે છે અને પૂરી પાડે છે વપરાશકર્તા પાછા આઉટપુટ. હવે અમે શું જોઇ કર્યું અગાઉ પ્રવચનો, અમે આ ખરેખર થાય છે કે ખબર વિભાગ સમસ્યાઓ ચોક્કસ પ્રકારના અમે એકી સંખ્યા હોય છે. ખાસ કરીને, અમે ફક્ત ફેંકી દેવું પડશે આ બાદ ચિહ્ન પછી કંઈપણ. હવે, આપણે આ જાણીએ છીએ કે કેસ બને છે. અને અમે તેને ચલાવવા, તો અમે ખાતરી કરી શકો છો સંકલન દ્વારા પ્રથમ અમારી શંકાને,. અને પછી, ચલાવીને અને એક વિચિત્ર નંબર દાખલ. આ નવું કંઈ નથી. પરંતુ આ ખરેખર એક છે ભૂલ ઉદાહરણ કે મોટા કાર્યક્રમ અંદર અસ્તિત્વ ધરાવે છે કે ટ્રૅક કરવા માટે મુશ્કેલ બની જાય છે. અમે શું આ મુદ્દો ખબર હોવા છતાં આ બાબત સાચી મર્મ છે ઓળખવા પ્રયાસ કરી શકે છે ખાસ જ્યાં ભૂલ થાય છે, શું છે કે જે સમસ્યા ઓળખવા છે, અને પછી તે કરવું. તેથી ઉદાહરણ તરીકે આ પૂરી પાડે છે કંઈક હોઈ શકે છે શું અમે પહેલાથી જ ખબર છે, પરંતુ દફનાવવામાં કરી શકાય છે કે કોડ અન્ય તત્વો અંદર. તેથી આ અન્ય સ્રોત ખોલીને ઉદાહરણ તરીકે કોડ ફાઇલ, આ વિભાગ સમસ્યા હવે છે મોટા કાર્યક્રમ ભાગ છે. હજુ થોડું હોઈ શકે છે થોડી રચી, અને અમે સરળતાથી કરવા માટે સક્ષમ હોઈ શકે છે ખાસ કરીને, તેને ઓળખવા અમે ફક્ત આ ચર્ચા કરી રહ્યાં છો કારણ કે. પરંતુ અમે આ છે કે જે બહાર આકૃતિ કરી શકો છો સમસ્યા મોટા પાયે અસ્તિત્વ ધરાવે છે. હવે હું આ કમ્પાઇલ અને જો તે એક વિચિત્ર નંબર દાખલ ચલાવો, અમે ચોક્કસપણે મળી નથી જોઈ શકો છો અમે અપેક્ષા હોય શકે છે આઉટપુટ. આ ચોક્કસ કિસ્સામાં, અમે કહી શકે કે અમે નંબરો તમામ ગણતરી કરવા માંગો છો એક અમુક ચોક્કસ નંબર છે. અને અમે તે અમે જોઈ શકો છો મુદ્દાઓ વિવિધ હોય છે અમે outputting રહ્યાં છો અહીં તો, ફક્ત 0 અને 1 અમે 5 ઇનપુટ પૂરી પાડે છે. તેથી અમે પહેલાથી જ ખબર છે કે અહીં એક સમસ્યા છે. પરંતુ અમે ચોક્કસપણે ખબર નથી શકે છે જ્યાં આ મુદ્દો ખરેખર અસ્તિત્વ ધરાવે છે. જે રીતે હવે એક કે અમે આ ઠીક કરવાનો પ્રયાસ કરી શકો છો અમે છે કે કંઈક છે પહેલેથી જ રજૂ કરવામાં આવ્યું. અમે હમણાં જ એક મોટા પાયા પર ઉપયોગ કરી શકો છો. 14 લીટી પર, અમે છે આ printf કાર્ય, જે અમને રાજ્ય બહાર છાપવા માટે પરવાનગી આપે માહિતી વિવિધ ટુકડાઓ. અને આ કંઈક છે કે તમે તમારા કાર્યક્રમ અંદર લાભ જોઈએ બરાબર શું બહાર આકૃતિ કરવાનો પ્રયાસ કરો કોડ વિવિધ રેખાઓ રહ્યું. તેથી આ ન હોય તો પણ અંતિમ આઉટપુટ કે અમે ખરેખર બહાર પેદા કરવા માંગો છો આ કાર્યક્રમ, અમે હજુ પણ કેટલાક ડિબગ હોય શકે છે નિવેદનો જ્યાં અમે બહાર આકૃતિ કરવાનો પ્રયાસ કરી શકો છો ચોક્કસપણે શું અમારા કોડ અંદર થઈ રહ્યું છે. તેથી આ કિસ્સામાં, ચાલશે ડિબગ ટેગ સાથે printf. આ કિસ્સામાં, આ છે માત્ર એક ડિબગ શબ્દમાળા હું મૂકવા કે જેથી તે બની જાય છે કે છું કે મારી કોડ આઉટપુટ ખૂબ જ સ્પષ્ટ શું તે હું બતાવવા માંગો છો છે. સંખ્યા અહીં અને આઉટપુટ અમે ગણતરી કરી છે કે. આ કિસ્સામાં, હું કદાચ ચોક્કસપણે ખબર કરવા માંગો છો શું પહેલા શું થઈ રહ્યું છે અને અમુક ચોક્કસ ગણતરી પછી. તેથી હું પહેલાં printf ઉપયોગ કરી શકે છે અને કોડ કે વાક્ય પછી. આ કિસ્સામાં, હું પણ કરી શકે છે તે થોડો વધુ સ્પષ્ટ બનાવવા પહેલાં ડિબગ કહેતા અને ડિબગ જેથી પછી હું સાથે મારી દિગ્મૂઢ નથી કે સમાન જુઓ કે ઘણી રેખાઓ. હવે અમે આ અને રન પુનઃકમ્પાઈલ તો તે ફરીથી પાંચ જેવા નંબર દાખલ અમે હોય છે કે જોઈ શકો છો હવે પહેલા અને પછી આઉટપુટ અને અમે સ્પષ્ટ કર્યું નથી કે શોધવા વિભાગ અથવા સ્પષ્ટ સંખ્યા કર્યા અમે ખરેખર કરવા માંગો છો છે. હવે આ કિસ્સામાં, આ છે ખરેખર સ્પષ્ટ આઉટપુટ. તે ખરેખર એક સ્પષ્ટ પરિણામ નથી કે અમે આ ચોક્કસ કાર્યક્રમ બહાર માંગો છો. અને આ એક, ફરી, છે થોડો રચી. પરંતુ, કદાચ, એક વસ્તુઓ છે કે જે સ્પષ્ટીકરણ જણાવ્યું હતું કે જો અમે કરી શકે છે અમે આ વિભાજીત કરવા માંગો છો કે 2 અને તેથી અન્ય શબ્દોમાં 1-- ઉમેરો અમે પછી up-- ધરપકડ કરવા માંગો છો અમે કરી શકે છે ખબર શકે આ કિસ્સામાં, કે જે ચોક્કસ વસ્તુ નથી. હવે અહીં અમે હશે ખબર અમારા અર્ધા નંબર 1 ઉમેરવા માટે સક્ષમ છે. ચાલો આ પુનઃકમ્પાઈલ દો અને આ ખાતરી અમે માંગો છો કે જે રીતે વર્તન કરવામાં આવે છે. હવે અમે પહેલાં જોઈ શકો છો કે આવી રહી છે, અમે 5 નંબર છે. કર્યા પછી, અમે નંબર 3 છે અમારા સ્પષ્ટીકરણ અનુસાર, જે અમે શું કરવા માગતો હોય છે. પરંતુ અમે જોવા હોય તો અહીં આઉટપુટ, અમે કરી શકો છો અમે અન્ય હોય શકે છે કે નહીં તે જોવા છે, જે એકસાથે ભૂલ, અમે 0 અમારા ગણક શરૂ થાય છે. હવે ફરીથી, આ કંઈક છે અમે ભૂતકાળમાં જોવા મળે છે કે અને અમે ખૂબ સરળતાથી ઠીક કરી શકે છે. પરંતુ આ કિસ્સામાં, અમે પણ લાભ હતી આ printf સ્ટેટમેન્ટ ઉપયોગ સીધા લૂપ માટે અંદર ચોક્કસપણે જ્યાં ખબર કે જે ભૂલ બનતું હતું. તેથી printf નિવેદનો છે મદદ ખૂબ જ ઉપયોગી તમે જ્યાં નક્કી કરવા માટે, ચોક્કસપણે તમારા સ્રોત કોડ, ચોક્કસ ભૂલ થતું હોય છે. અને તે ખ્યાલ પણ મહત્વનું છે કે, અમે કોડ લખી રહ્યાં છો, અમે ધારણા હોય શકે એક કાર્યક્રમ રાજ્યના વિશે. અથવા આપણે ધારણા હોય શકે આ કાર્યક્રમ ભાગ શું વિશે ખરેખર સાચું અથવા જ્યારે ખોટો છે પાછળથી અમે તે કાર્યક્રમ પર બિલ્ડ તરીકે અને તે ભાગ બનાવવા જટિલ અને મોટા કાર્યક્રમ અમે કેટલાક પાસા કે ખ્યાલ કે ખરેખર બગડેલ છે. Printf મદદથી ખરેખર મદદ કરી શકે સંકીર્ણ અને ઓળખવા એક કાર્યક્રમ વિસ્તારો કે નથી કરી શકે છે બરાબર રીતે વર્તન કરવામાં કે અમે અમારી ધારણા પર આધારિત છે, અપેક્ષા. પરંતુ અન્ય સાધનો છે ઉપલબ્ધ છે, સાથે સાથે, કે અમને આકૃતિ કરવાનો પ્રયાસ કરવા માટે પરવાનગી આપે જ્યાં એક ભૂલ થતું હોય છે બહાર અને એ પણ ખાસ કરીને, શું વસ્તુઓ આ કાર્યક્રમ ની અંદર શું થઈ રહ્યું છે. તેથી ઉપયોગ printf ખૂબ જ છે ઉપયોગી જ્યારે અમે માંગો છો ચોક્કસ વિસ્તારોમાં ઓળખવા માટે કેટલાક ભૂલ હોય છે કે કાર્યક્રમ. પરંતુ તે પણ બને છે જ્યારે પછી કંટાળાજનક. આ કિસ્સામાં, આ એક છે પ્રમાણમાં સરળ કાર્યક્રમ માત્ર એક કે બે ચલો સાથે. અને તે માટે અમારા માટે ખૂબ જ સરળ બની જાય છે તે ચલો ની કિંમત છાપે મોટા કાર્યક્રમ સંદર્ભમાં. પરંતુ અમે એક અલગ પડી શકે છે ઘણા પરિબળો છે કે કાર્યક્રમ. અને તે તદ્દન ન હોઈ શકે printf જેથી વાપરવા માટે સરળ શું થઈ રહ્યું છે મૂલ્યાંકન કરવાનો પ્રયાસ કરો તે ચલો દરેક એક માટે આ કાર્યક્રમ તરીકે ચલાવવા છે. અસ્તિત્વમાં છે કે જે કાર્યક્રમ છે ડિબગર કાર્યક્રમ તરીકે ઓળખાય છે. આ કિસ્સામાં, એક કે અમે ઉપયોગ, GDB GNU ડિબગર છે, અથવા કે અમને આંતરિક તપાસ કરવા માટે પરવાનગી આપે વધુ એક કાર્યક્રમ કામગીરી વિગતવાર માર્ગ. અમે ખરેખર અમલ કરી શકો છો આદેશ વાક્ય માંથી GDB અહીં ફક્ત GDB અને ટાઇપિંગ દ્વારા અમે ડિબગ કરવા માંગો છો કે આદેશ. આ કિસ્સામાં, ગણતરી. હવે આ કિસ્સામાં, અમે તેને જોઈ શકો છો કે GDB કહે છે કે પ્રોમ્પ્ટ પર લાવે છે. અને અમે ખરેખર કરી શકો છો GDB માટે આદેશો ચલાવો વાસ્તવમાં અમલ શરૂ કરવા માટે કાર્યક્રમ ચોક્કસ પોઈન્ટ તેને રોકવા, ચલો મૂલ્યાંકન અને ચલો નિરીક્ષણ કે આ કાર્યક્રમ રાજ્ય અસ્તિત્વમાં તે ચોક્કસ ક્ષણે, અને તેથી પર અને તેથી આગળ. તે અમને પાવર ઘણો પૂરી પાડે છે. પરંતુ તે માત્ર જેથી બને તે પણ આ CS50 IDE એ GUI અથવા વપરાશકર્તા પૂરી પાડે છે GDB માટે ઈન્ટરફેસ કે અમને જરૂર વિના આ કરવા માટે પરવાનગી આપે છે બિલકુલ આદેશ વાક્ય ઈન્ટરફેસ અથવા બધા પણ. મને લાગે છે કે ઍક્સેસ કરી શકો છો કે જે રીતે ડિબગ બટન નો ઉપયોગ કરીને છે આ CS50 IDE ખૂબ જ ટોચ પર. હવે ભૂતકાળમાં, અમે શું છે જોઈ અમે આદેશને વાપરો કે જે છે લીટી કમ્પાઇલ અને પછી કાર્યક્રમ ચલાવવા માટે. આ ડિબગ બટન કરે તે પગલાં બંને. પરંતુ તે પણ લાવશે દૂર અધિકાર પર ડીબગર ટેબ કે અમને વિવિધ નિરીક્ષણ કરવા માટે પરવાનગી આપે છે કાર્યક્રમ ગુણધર્મો , કે અમલ કરવામાં આવે છે. હું આ ડિબગ ક્લિક કરો, તો કેસ, તે લાવશે કન્સોલ નવી ટેબ ખૂબ તળિયે વિન્ડો. અને તમે આ ટેબ ધરાવે છે કે નહીં તે જોવા કરી શકો છો ખૂબ જ ટોચ પર કેટલીક માહિતી. અને અમે મોટા પાયે આ અવગણી શકો છો. પરંતુ એક વસ્તુઓ અમે નોટિસ છો કે તે આઉટપુટ છે આ જ વસ્તુ છે કે અમે અમે બનાવવા ચલાવવા માટે પ્રયત્ન કર્યો તો મળી જશે ટર્મિનલ વિન્ડોમાં સી કાર્યક્રમ. અહીં, અમે તે રણકાર ચાલી રહ્યું છે જોઈ શકે છે, અને તે ફ્લેગ્સ વિવિધ હોય છે, અને તે બનાવે છે અમારા count.c ફાઈલ કમ્પાઈલ છે જે તે સમયે પસંદ કરેલ ટેબ હતી કે હું ડિબગ હિટ. તેથી આ કારણ ખૂબ જ ઉપયોગી છે હવે આ ડિબગ બટન નો ઉપયોગ કરીને, અમે વારાફરતી પછી કમ્પાઇલ અને કરી શકો છો આ કાર્યક્રમ ચલાવવા છે કે અમે ખરેખર ચલાવવા માંગો છો. છે કે ફ્લેગ્સ એક મહત્વપૂર્ણ, આ કિસ્સામાં, અમે ખરેખર ઉપયોગ કરી રહ્યો છું સૌથી લાંબો સમય માટે પણ માત્ર કેટલાક હાથ કર્યું waving [અશ્રાવ્ય] છે, કે જે અહીં આ એક છે. રણકાર, તે -ggdb3 કહે છે. આ કિસ્સામાં, અમે શું છે રણકાર કહેવાની અમારા કમ્પાઇલર, અમે અમારા કાર્યક્રમ કમ્પાઇલ કરવા માંગો છો શકે છે. પણ શું છે પૂરી પાડે છે કહેવાય પ્રતીક માહિતી કમ્પાઇલર ખરેખર વપરાશ હોય છે કે જેથી અંતર્ગત માહિતી ઘણો આ કાર્યક્રમ અંદર સમાયેલ છે. વધુ ખાસ રીતે, આ નંબર મારી પાસે જે કાર્યો, તે કાર્યો નામો ચલો પ્રકારો તે ચલો, અને વિવિધ છે કે ડીબગર મદદ કે અન્ય વસ્તુઓ તેની કામગીરી કરે છે. હવે બીજું કંઈક છે ઉલ્લેખ કર્યો છે કે મહત્વપૂર્ણ છે જ્યારે અમે ચાલી ચર્ચા કરી રહ્યાં છો આ રીતે એક કાર્યક્રમ. તે ખરેખર છે કે નોટિસ અમારા કન્સોલમાં નવી ટેબ લાવવામાં તળિયે સાથે. અમે લાંબા સમય સુધી વાતચીત કરવા માટે હોય છે સીધા ટર્મિનલ વિન્ડો સાથે. પરંતુ આ નવા ટેબ છે ખરેખર ટર્મિનલ વિન્ડોમાં. તે માત્ર ચાલી ચોક્કસ છે અમે બનાવેલ હોય કે કાર્યક્રમ. માં, નોંધ કરો કે તળિયે કેટલાક આઉટપુટ સાથે મિશ્રણ કમ્પાઇલર અને GDB રણકાર દ્વારા, અમે મોટે ભાગે અવગણી શકો છો, કે જે તે ખરેખર નું આઉટપુટ બતાવે ખૂબ તળિયે અમારા કાર્યક્રમ. હવે તે સમજવુ અગત્યનુ છે કે ખરેખર આ એક વિન્ડો તમે બતાવશે તમારા કાર્યક્રમ આઉટપુટ પણ ઇનપુટ સ્વીકારી શકો છો કે કાર્યક્રમ માટે, તેમજ. તેથી કહે છે કે નોટિસ એક નંબર દાખલ કરો, જે અમે હતી તે જ આઉટપુટ છે પહેલાં ટર્મિનલ વિન્ડોમાં હતી. પરંતુ તે હવે આ નવી ટેબ માં બતાવ્યા પ્રમાણે છે. હું ઇનપુટ એક નંબર કરી શકો છો. અને તે ખરેખર કરશે કાર્ય અમે અપેક્ષા તરીકે અમને અમારા ડિબગ દર્શાવે છે, આઉટપુટ બગડેલ હોઇ શકે છે આઉટપુટ અમે પહેલાં જોઇ છે. અને ખૂબ જ તળિયે, તો તે વાસ્તવમાં કેટલાક વધારાના આઉટપુટ છે જીડીપી માત્ર કહે છે કે આ કાર્યક્રમ પૂર્ણ કરી હતી. હવે તમે આ જોયું દ્વારા ખાસ રન તે ખાસ કરીને ન હતી ઉપયોગી પણ છે, કારણ અમે હતી છતાં ડીબગર મેનુ આવે છે ઉપર, આ હજુ ચાલતી કાર્યક્રમ હતો. કોઈ સમયે ખરેખર તે કર્યું અમારા માટે અમલ વિરામ બધી તપાસ કરવાનો પ્રયત્ન કરવા માટે ચલો અંદર સમાયેલ છે. ત્યાં કંઈક બીજું છે અમે ક્રમમાં શું કરવું છે કે અમે માંગો છો તે ઓળખી GDB વિચાર આ કાર્યક્રમ અમલ વિરામ અને તે આગળ વધવા માટે પરવાનગી નથી સામાન્ય રીતે આપણે અન્ય કોઇ કિસ્સામાં જેમ. અમલ અટકાવવા માટે, અમુક ચોક્કસ વાક્ય પર, અમે શું છે બનાવવાની જરૂર છે વિરામ બિંદુ કહેવાય છે. અને એક વિરામ બિંદુ ખૂબ સરળતાથી બનાવી છે આ તમારા માઉસની લઈને IDE CS50 અને ડાબી સીધા ક્લિક અમુક ચોક્કસ લાઇન નંબર છે. હું આ કરી જાય છે, એક લાલ ટપકું જે સૂચવે છે દેખાય છે, કે લીટી હવે વિરામ બિંદુ છે. અને હું GDB ચલાવવા કે આગામી સમય, તે કે વિરામ સમયે અમલ કરવાનું બંધ કરશે તે કોડ કે વાક્ય પહોંચે છે. હવે આ એક મહત્વપૂર્ણ છે વસ્તુ ખ્યાલ તે નથી કે જરૂરી કેસ કે કોડ ઓફ દરેક લીટી ખરેખર સુલભ છે. હું એક કાર્ય બનાવવા માટે જ હોય અહીં, ઉદાહરણ રદબાતલ f-- માટે અને માત્ર હેલો અહીં પ્રિન્ટ લીટી કરી world-- હું આ કાર્ય કૉલ ક્યારેય નહિં, તો તે કિસ્સામાં હશે કે, હું અહીં વિરામ બિંદુ સુયોજિત હોય તો, કાર્ય કહી શકાય નહીં. અને તેથી, આ ચોક્કસ બ્રેક બિંદુ ખરેખર વિરામ નહીં આ કાર્યક્રમ અમલ. તેથી હું યોગ્ય રીતે બનાવવા કહે છે કે દો કોડ કેટલાક વાક્ય પર બ્રેક બિંદુ કે ખરેખર ચલાવવામાં આવશે. હવે આ કિસ્સામાં, આ છે મુખ્ય કાર્ય પ્રથમ વાક્ય. તેથી તે ચોક્કસપણે કેસ હશે કે, હું અમલ શરૂ જલદી, ખૂબ પ્રથમ વાક્ય પહોંચી કરવામાં આવશે. GDB અમલ અટકશે. અને પછી, હું કરવાનો પ્રયત્ન કરશે ડીબગર સાથે ક્રિયાપ્રતિક્રિયા કરે છે. તમે બહુવિધ રેખાઓ સુયોજિત કરી શકો છો તમે ઈચ્છો, તો બ્રેકપોઇન્ટ્સ. અમે પણ એક વાક્ય બનાવી શકો છો અહીં કોડ આ સેગમેન્ટમાં પહોંચી શકાય નહીં. અને અમે પણ વધુ નીચે એક સેટ કરી શકો છો. કારણ કે અમે કરશે અમે પડશે આ કરવા માંગો છો થોડો વધુ જાય માત્ર એક ક્ષણ વિગતવાર. તેથી હવે, મને માત્ર નિષ્ક્રિય દો આ વધારાની બ્રેક પોઇન્ટ અમે શું થાય છે તે જોવા કરી શકો છો કે જેથી હું એક વિરામ હોય છે ત્યારે મારા કાર્યક્રમ બિંદુ. હું કર્યા છે કેટલાક આ કાર્યક્રમ માટે બદલે છે. તેથી હું તેને સેવ જરૂર છે. હું ડિબગ ક્લિક કરો હું કરી શકો છો કે જેથી સંકલન શરૂ કરો અને પછી ડીબગર અમલ. અમે જોશો, કે ક્ષણો, પછી અમે વિરામ તરીકે પસંદ તે લીટી બિંદુ પીળો પ્રકાશિત થયેલ છે. અમે પણ છે કે નોટિસ કરી શકો છો ડિબગ પેનલ ઉપર જમણા વિરામ ચિહ્ન ચાલુ છે કે થોડી નાટક ચિહ્ન માં. આ અમે વિરામ હોય છે અમલ, આ ચોક્કસ કિસ્સામાં. અને આ નાટક બટન કરશે હિટ અમને અમલ ફરી શરૂ કરવા માટે પરવાનગી આપે છે કે જે ચોક્કસ બિંદુએ. અન્ય એક દંપતિ છે કે નોટિસ આ ડિબગ પેનલ માં ઉપલબ્ધ બટનો, તેમજ. મને પરવાનગી આપે છે, ઉપર પગલું કોડ કે એક વાક્ય ચલાવો અને માટે તે લીટી પર પગલું આ કિસ્સામાં આગામી એક છે, કે જે, આ printf કે તેનો અર્થ એ થાય નિવેદનમાં ચલાવવામાં આવે છે. અને તે પછી વિરામ કરશે આની જેમ વાક્ય પર 13 અમલ. અને પણ એક પગલું છે કાર્ય માં જે હું અન્ય બનાવેલ હોય તો ઉપયોગી છે અન્યત્ર સ્રોત કોડ કાર્ય કરે છે. અને હું સ્ટેપ ઇનટુ કરવા માંગો છો તે કાર્યો બદલે સમગ્ર કે કાર્ય ચલાવો. પરંતુ અમે આ પગલું પર વધુ જોવા મળશે માત્ર એક ક્ષણ કાર્ય માં. હવે કેટલાક અન્ય વસ્તુઓ નોંધ્યું છે કે ખરેખર આ ડિબગ પેનલ અંદર અસ્તિત્વ ધરાવે છે. અમે આ પેનલ કહેવાય છે જે અમને બતાવે છે, સ્ટેક કૉલ બરાબર જ્યાં અમે છે. આ કિસ્સામાં, અમે અંદર છે મુખ્ય કાર્ય. અમારા સ્ક્રિપ્ટ count.c કહેવામાં આવે છે. અને અમે પર પ્રયત્ન થાય છે રેખા 13, કૉલમ એક, જે શું પ્રકાશિત પ્રદેશ ચોક્કસપણે છે સ્ત્રોત કોડ, તેમજ દર્શાવે છે. હવે આ પણ બતાવે છે કે નોટિસ સ્થાનિક ચલ વિભાગ હેઠળ ચલો તમામ આ કાર્ય અંદર અસ્તિત્વ ધરાવે છે. તે મહત્વપૂર્ણ છે નોંધ કરો ચલો તમામ આ સ્થાનિક ચલ દેખાશે એક કાર્ય અંદર વિભાગ પણ તેઓ વ્યાખ્યાયિત કરવામાં આવે છે તે પહેલાં. અમે એક ચલ છે કે અહીં જોઈ શકો છો NUM કહેવાય છે, 0 ની મૂળભૂત કિંમત ધરાવે છે, અને તે પ્રકાર પૂર્ણાંક છે. હવે અમે ખરેખર પ્રારંભ પહેલાં આ ચલો બધા અમે જરૂરી નથી 0 ની કિંમત જોવા માટે ખાતરી આપી. અને અન્ય ફાંસીની સજા પર આધાર રાખીને તમે કરવામાં આવી છે કે અને તમારી મેમરી જ્યારે રાજ્ય તમે ખરેખર આ કાર્યક્રમ ચલાવવા માટે, તમે જે શોધી શકે છે 0 કિંમતો જોવા નથી અને, તેના બદલે કેટલાક અન્ય ક્રેઝી નંબરો. પરંતુ તે વિશે ચિંતા નથી. તે ત્યાં સુધી સુસંગત હોઈ જવા નથી તમે ખરેખર કિંમત પ્રારંભ. હવે આ કિસ્સામાં, અમે જોઈ શકો છો કે હું કેટલાક આઉટપુટ રજૂઆત કરી છે. અને હું, હમણાં, અમલ થોભાવવામાં છું. પરંતુ આ કિસ્સામાં, શું હું ખરેખર કરવા માંગો છો હવે આ લીટી પર પગલું છે કોડ તેથી હું ખરેખર આ કરી શકો છો કે કે પૂર્ણાંક માટે વપરાશકર્તા પૂછપરછ કરે છે તે અમે અમારા કાર્યક્રમ વાપરવા માંગો છો. હવે આ કિસ્સામાં, જ્યારે હું નોટિસ પર પગલું હિટ કે બદલે અટકાવવા અથવા ફરી શરૂ કરો બટન આ થોભો બટન માટે બદલાઈ ગયેલ છે આ કોડ વાસ્તવમાં ચલાવવા છે કારણ કે. શું થઇ રહ્યું છે હમણાં તે છે ઇનપુટ અમારા માટે કેટલીક માહિતી રાહ જોઈ અમે અમારા આઉટપુટ લખાણ દ્વારા જોઈ શકો છો ખૂબ તળિયે. તેથી હમણાં, આ છે ખરેખર થોભાવવામાં નથી, પણ તે છતાં, પ્રકારની દેખાય છે, કંઈ થઈ રહ્યું છે, કારણ કે હોય છે. પરંતુ તે માત્ર જેથી બને છે કે વાક્ય પર 13 મારા ચોક્કસ કેસ, હું વપરાશકર્તા ઈનપુટ માટે રાહ જોઈ રહ્યો છું. અને તેથી GDB નિરીક્ષણ કરવા માટે સમર્થ નથી તે એક કાર્યક્રમ ચાલી રહ્યો છે. હું કેટલાક દાખલ હવે આગામી સમય input-- તેથી હું કે જે નંબર 5 દાખલ કરશો અમે જોઇ છે તરીકે હિટ રીટર્ન past--, અને અમે કે તરત જ, GDB વિરામનો નોટિસ અને, ફરી, આગળના વાક્ય પ્રકાશિત કરે છે. પરંતુ, હવે નોંધ્યું છે કે અમારા નીચેની inputting પરિણામ, અમે અંદર તે કિંમત સુધારાશે છે અમારા સ્થાનિક ચલો, જે ચોક્કસપણે ખબર ખૂબ જ ઉપયોગી છે શું છે કે જે નંબર મેમરી હતી. હવે હું આ કાર્યક્રમ ચાલુ રાખવા માટે પરવાનગી આપી શકે છે તેના અમલ ના અંત સુધી રમી ફરી શરૂ કરો મથાળે સ્પર્શી દ્વારા. અમે ખૂબ જ ઝડપથી જોઈ શકો છો કે કાર્યક્રમ સમાપ્ત ચલાવવા કરે એ જ આઉટપુટ સાથે અમે પહેલાં હતી, ડીબગર બંધ થાય છે, અને હવે આ કાર્યક્રમ સંપૂર્ણપણે બંધ કરી દીધું છે. હું બતાવવા માટે જ છે કે જોઈ હેતુ શું અમે ખરેખર રેઝ્યૂમે હિટ જ્યારે થાય છે. પરંતુ અમે ખરેખર કરવા જઇ રહ્યા છે આ કાર્યક્રમ માં પાછા જવા માંગો છો અમે ડિબગ પ્રયત્ન કરી શકો છો કે જેથી ચોક્કસપણે શું બની રહ્યું છે. હું ડીબગર ઉપયોગ કરું છું કે હવે, હું કરી શકે છે આ ડિબગ printf નિવેદનો જરૂર નથી. હું કરીશ, જેથી હું તેમને દૂર કરી શકે છે હવે અમારા સરળ કોડ પર પાછા જાઓ અમે એક ક્ષણ પહેલા હતી. હવે હું સેવ જ્યારે કાર્યક્રમ અને તે ચલાવવા, એટલે કે, ફરી છે કે પ્રારંભિક પર જશે હું 11 લીટી પર હતું કે બિંદુ તૂટી જાય છે. અને હું નિરીક્ષણ કરવા માટે સમર્થ હશો મારા ચલો હું શું કરવા માંગો છો. તે માત્ર જેથી આ છે કે જે થાય છે ભાગ ખૂબ જ રસપ્રદ નથી અને હું જાઉં છું ખબર છે કે આ નિવેદન છાપે. એક નંબર દાખલ કરો. અને પછી, હું જાઉં છું ખબર છે કે કે પૂર્ણાંક માટે વપરાશકર્તા પૂછો. તેથી કદાચ, હું ખરેખર ખસેડવા માંગો છો મારા નીચે થોડો વધુ બિંદુ તૂટી જાય છે. તમે બ્રેક પોઇન્ટ દૂર કરી શકો છો સીધા, ફરી, પર ક્લિક કરીને તે લીટી નંબર ડાબી છે. કે લાલ ટપકું દર્શાવે છે અદૃશ્ય થઈ જશે કે વિરામ બિંદુ હવે ગયો છે. હવે આ કિસ્સામાં, અમલ થોભાવવામાં આવી છે. અને તેથી તે ખરેખર નથી ચાલી રહ્યું છે કે જે ચોક્કસ ઉદાહરણ ફરીથી શરૂ કરો. પરંતુ હું એક વિરામ સેટ કરી શકો છો થોડુંક પછીથી નિર્દેશ કરે છે. અને હવે હું ફરી શરૂ ત્યારે મારા કોડ છે, તે શરૂ કરો અને કહેશે કે વિરામ ચિહ્ન બિંદુ. ફરીથી, હું ફરી શરૂ નહીં. કંઈપણ થઈ રહ્યું છે જેમ તેમ લાગતું નથી. પરંતુ તે મારા કારણ કોડ ઈનપુટ માટે રાહ જોઈ રહ્યું છે. હું એક નંબર 5 દાખલ કરો દબાવો, અને કરશે હવે આગામી વિરામ બિંદુ હિટ કરવામાં આવશે. હવે આ કિસ્સામાં, આ કોડ વાક્ય છે કે, તે પહેલાં, અમે જાણતા હતા બગડેલ હોઇ થયું. તેથી શું થાય છે મૂલ્યાંકન દો આ સમય ચોક્કસ બિંદુએ. એક વાક્ય પ્રકાશિત થયેલ છે ત્યારે, આ લીટી હજુ સુધી ચલાવવામાં આવી નથી. તેથી આ કિસ્સામાં, અમે જોઈ શકો છો હું એક નંબર છે, કે જે જે મને કહેવામાં આવે પૂર્ણાંક છે નીચેની 5 છે કે ગણ. અને હું ચલાવી કરી જાઉં છું કે જે નંબર પર કેટલાક ગણિત. મને લાગે છે કે પર પગલું, તો અમે કરી શકો છો NUM માટે કિંમત છે કે જે નોટિસ આ અનુસાર બદલાઈ ગયેલ છે અમે ખરેખર કર્યું છે કે અંકગણિત. અને હવે અમે છે કે અંદર લૂપ માટે આ અથવા હવે કે લૂપ માટે પોતે પ્રકાશિત થયેલ છે, અમે એક નવી હોય કે નહીં તે જોવા ચલ કે હું કહેવાય લૂપ માટે કે ઉપયોગ કરી રહ્યું છે. હવે હું પહેલાં યાદ ક્યારેક તમે છો કે ઉલ્લેખ કર્યો છે ક્રેઝી અમુક પ્રકારના જોવા જઈ કે જે નંબર પહેલાં મૂળભૂત તરીકે નંબરો અથવા તે ચલ છે ખરેખર આરંભ. અમે ચોક્કસપણે કે જોઈ શકો છો અહીં આ ચલ માં નથી જે, હું કહેવાય હજુ સુધી આરંભ કરવામાં પ્રકાશ સમયે. પરંતુ અમે તે કેટલાક નંબર છે કે જોઈ શકો છો અમે ખરેખર નથી અપેક્ષા કરશે. એ બરાબર છે. તે વિશે ચિંતા કરશો નહીં અમે ખરેખર છે, કારણ કે હું ત્યાં સુધી કે જે નંબર આરંભ આ વાક્ય અને કિંમત પર પગલું હું કિંમત 1 થી આરંભ કરવામાં આવ્યો છે. તેથી તે ખરેખર છે કે નહીં તે જોવા માટે આ કિસ્સામાં, માતાનો પર પગલું દો. હવે અમે તે જોઈ શકે છે કે લીટી ચલાવવામાં આવી છે. અને અમે હવે પ્રકાશ છે આ printf રેખા. અને અમે હવે કેવી રીતે અમારા કિંમતો જોઈ શકો છો હું અને 3 સમય પર બદલાઈ ગયેલ છે. આ હકીકત માં, કરવા માટે ખૂબ જ ઉપયોગી છે, વારંવાર લીટીઓ પર પગલું છે. અને તમે શું ખરેખર શોધી શકો છો તમારા માટે લૂપ અંદર થાય છે અને શું થાય છે અંદર લૂપ માટે કે ચલો કે કાર્યક્રમ અમલ તરીકે એક સમયે એક પગલું જોવા મળે છે. હવે આ બિંદુએ, હું પૂરતું પર ઊતર્યા હવે હું મારા કાર્યક્રમ ઓવરને અંતે છું. મને લાગે છે કે પર પગલું છે, તો તે ચાલશે ખરેખર અમલ બંધ અમે ભૂતકાળમાં જોઈ છે. તેથી, મને હજુ સુધી ફરીથી, આ પુનઃશરૂ કરો હું કંઈક બીજું નિર્દેશ કરી શકો છો કે, તેમજ. આ કિસ્સામાં, તે છે હવે ફરી, મને પૂછ્યા એક નંબર માટે જે હું, ફરી, દાખલ કરવામાં આવશે. પરંતુ આ સમય, હું જાઉં છું દાખલ કરો મોટી સંખ્યામાં છે, કે જેથી લૂપ માટે વધુ વખત ફરી વળવું પડશે. આ કિસ્સામાં, હું જાઉં છું 11 ની કિંમત દાખલ કરો. હવે ફરીથી હું સુયોજિત કરશો કારણ કે 15 લીટી પર એક વિરામ બિંદુ, તે લીટી પ્રકાશિત કરવા જઈ રહ્યું છે. અમે જોઈ શકો છો કે અમારા નંબર 11 યોગ્ય રીતે છે અમારા સ્થાનિક ચલો રજૂ કરે છે. અમે હવે, કે ઉપર કરી શકો છો વેગ હું અમારા કિંમત થાય છે તે જુઓ અમે લૂપ માટે આ અંદર આગળ વધી છે. તે દર વખતે આપણે વધે નહીં લૂપ માટે કે ટોચ સુધી પહોંચે છે. એક વસ્તુઓ હવે કદાચ અમલ દરમિયાન શું માટે ઉપયોગી હોઈ આ કાર્યક્રમ ખરેખર મારા માટે છે જોવા માટે ચલો midstream બદલવા શું મારા કાર્યક્રમ થાય છે. આ કિસ્સામાં, હું ખરેખર આ કરી શકો છો ડબલ કિંમત પર ક્લિક કરો. તે લખાણ ક્ષેત્રમાં બની જાય છે કે નોટિસ. હવે હું અલગ દાખલ કરી શકો છો એકસાથે કદર મારા કાર્યક્રમ કેવી રીતે વર્તે છે જોવા માટે મને લાગે છે કે ચલ બદલ્યું છે. હવે આ કિસ્સામાં, ચલ હવે હું કિંમત 10 છે. પરંતુ આ કાર્યક્રમ હજુ પણ છે અમલ માં રોક્યો છે. હું પગલું ત્યારે, હું જુઓ કે હું 10 તરીકે દાખલ જે કિંમત હું, , NUM ની કિંમત કરતાં વધારે છે જે તરત જ લૂપ માટે માટેનું કારણ બને છે ચલાવવા રોકવા માટે. હવે માત્ર નથી કારણ શા માટે તમે છો જગ્યાએ ચલ સુધારવા માંગો છો. તમે ખરેખર માંગો છો શકે છે તેથી તે સુધારવા માટે પ્રયાસ કરવા માટે તમે આ ચાલુ કરી શકો છો કે લૂપ અમલ કે જેથી તમે સંશોધિત કરી શકો છો તે પહેલાં કેટલાક કિંમત અંકગણિત કેટલાક ચોક્કસ સમૂહ સુધી પહોંચે છે તમે કરવા માટે વિશે હોય છે. તેથી હવે અમે ખરેખર બદલવાની આ કાર્યક્રમ તરીકે હું કિંમત તે અમલ કરતું હતું તે લૂપ માટે બહાર નીકળવા માટે કારણે અકાળે હું અચાનક તમામ, કારણ કે આ કિંમત કરતાં વધારે હોઈ થયું NUM ના, લૂપ માટે કે જેનો અર્થ થાય છે લાંબા સમય સુધી ચલાવવામાં આવશે જરૂર છે. વધુમાં, તે પ્રયત્ન થયું અમે i ની કિંમત બદલી કે કેસ લીટી 17 પ્રકાશિત કરવામાં આવી હતી, ત્યારે સમય માં બિંદુ હતી, જે તે લૂપ અમલ માટે ખરેખર મૂલ્યાંકન કરવામાં આવી હતી. હું કિંમત બદલી હોત તો હું એક અલગ લીટી પર, 19 કહે છે અમે વિવિધ જોઈ હશે વર્તન રેખા 19 છે કારણ કે લૂપ ચલાવવા પહેલા છે શરત reevaluated કરવામાં આવી હતી. હવે આ બિંદુએ, હું છું, ફરી, આ કાર્યક્રમ ઓવરને અંતે. અને હું આ માટે આગળ વધવા માટે પરવાનગી આપી શકે છે મારા કાર્યક્રમ કુદરતી બહાર નીકળવા માટે પરવાનગી આપે છે. પરંતુ બધી વસ્તુઓ એક દંપતિ છે દૂર લઇ મહત્વપૂર્ણ છે કે આ ચોક્કસ ચર્ચા છે. તમે મૂલ્યાંકન કરવાની જરૂર છે તમારા પોતાના ધારણા કેવી રીતે વિશે કોડ વર્તન જોઇએ. કોઈપણ સમયે તમે કેટલાક ભાગ લાગે છે કે તમે જાણો છો કોડ કામ કરવા માટે થાય છે, તે જવા માટે એક લાલ ધ્વજ હોઈ શકે છે અને પાછળ મૂલ્યાંકન, અને ખાતરી કરો તમારા ધારણા છે કે કેવી રીતે કોડ સંચાલન કરવામાં આવે છે તે કેવી રીતે ખરેખર સાચું છે તમારો સ્રોત કોડમાં વ્યક્ત કરી હતી. પરંતુ બિંદુ પણ વધુ હતી, અમે ડીબગર વાપરી રહ્યા હોય ત્યારે, તમે ઓછામાં બ્રેકપોઇન્ટ્સ મૂકી શકો છો કોડ વિવિધ રેખાઓ, માટે ડીબગર કારણ બનશે કે જે તે રેખાઓ દરેક અટકશે અમલ જેથી તમે મૂલ્યાંકન કરી શકે છે કે મેમરી અથવા પણ જગ્યાએ તેને બદલો. અને ફરી, તમે કરી શકો છો યાદ રાખો કે બહુવિધ બ્રેકપોઇન્ટ્સ બનાવો કે જેથી તમે પણ અમલ ફરી શરૂ કરી શકો છો, અવગણો કોડ મોટા ભાગ પર, અને તે આપોઆપ વિરામ પડશે આગામી વિરામ સમયે. ખરેખર વધુ અદ્યતન છે ડીબગર ના લક્ષણો, તેમજ. પરંતુ અમે તમને સંદર્ભ લો પડશે કેટલીક અનુગામી વિડિઓઝ ખરેખર કેવી રીતે સિવાય પીંજવું માટે તે ચોક્કસ કાર્યો વાપરવા માટે. હવે માટે, આભાર જોવા માટે ખૂબ ખૂબ. અને સારા નસીબ ડિબગીંગ.