Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo establecer puntos de interrupción y eliminar puntos de interrupción en el entorno VC 6.0 (programación)

Cómo establecer puntos de interrupción y eliminar puntos de interrupción en el entorno VC 6.0 (programación)

Establecer un punto de interrupción: puede establecer un punto de interrupción mediante los siguientes métodos. Primero, mueva el cursor a la línea de código donde se debe establecer un punto de interrupción y luego presione la tecla de método abreviado F9 para que aparezca el cuadro de diálogo Puntos de interrupción, presionando la tecla de método abreviado CTRL B o ALT F9, o abriéndolo a través del menú. Editar/Puntos de interrupción. Después de abrir, haga clic en la flecha en el lado derecho del cuadro de edición Romper en y seleccione la información de ubicación adecuada. En circunstancias normales, es suficiente seleccionar directamente la línea xxx. Si desea establecer un punto de interrupción que no esté en la ubicación actual, puede seleccionar Avanzado y luego completar la función, el número de línea y la información del archivo ejecutable.

Eliminar un punto de interrupción: mueva el cursor a la línea donde se encuentra el punto de interrupción dado y presione F9 nuevamente para cancelar el punto de interrupción. Como se mencionó anteriormente, después de abrir el cuadro de diálogo Puntos de interrupción, también puede seguir las instrucciones de la interfaz para eliminar puntos de interrupción.

Punto de interrupción condicional: puede establecer una condición para el punto de interrupción. Dicho punto de interrupción se denomina punto de interrupción condicional. Para el punto de interrupción recién agregado, puede hacer clic en el botón Condiciones para establecer una expresión para el punto de interrupción. Cuando esta expresión cambia, el programa se interrumpe. Las configuraciones a continuación incluyen "observar la cantidad de elementos de la matriz o estructura", que parece poder establecer el tamaño del área de memoria señalada por un puntero, pero configuro un valor de comparación pero cambio el área de memoria fuera del rango. parece hacer que el punto de interrupción surta efecto. La última configuración le permite determinar cuántas veces se ejecutará el programa antes de alcanzar el punto de interrupción.

Para establecer un punto de interrupción condicional, primero debe establecer la posición del punto de interrupción. Esto no significa que los puntos de interrupción condicional no requieran establecer una línea de parada en el programa.

Cómo realizar la depuración de puntos de interrupción condicional en vc, por ejemplo, si desea detenerse en el momento 25 del bucle for

if (i == 24)

{

i= i; //Esta oración está obsoleta, por lo que el punto de interrupción se puede agregar aquí

}

Agregar i==24 en la condición del código de depuración

Cuando desea establecer la condición de que un puntero de cadena sea igual a una determinada cadena, es más problemático. Puede usar la conversión de tipos para lograrlo. el puntero char str se detendrá cuando sea igual a "2002", luego simplemente configuraremos *(DWORD*)(str) == 0x32303032 en la condición. Sería bueno si hubiera otras condiciones usando || y amp;. Por ejemplo, se requiere que el número inmediatamente posterior a 2002 sea 1111, luego agregamos amp amp * (DWORD*) (str 4) == 0x31313131 después de la condición justa.

上篇: Cómo establecer una relación de aspecto fija en win7 下篇: ¿Cómo analizar los paquetes capturados por Wirehark? Después de iniciar Wireshark, seleccione la tecla de acceso directo en la barra de herramientas (botón marcado en rojo) para iniciar una nueva captura en tiempo real. También hay una lista de interfaces en la interfaz principal (marcada con un 1 en rojo en la figura siguiente), que enumera las tarjetas de red instaladas en el sistema. También puede comenzar a capturar paquetes seleccionando una tarjeta de red que pueda recibir datos. Puede encontrar este problema durante el inicio: aparece un cuadro de diálogo que dice que el controlador NPF no se ha iniciado y que no se pueden capturar los paquetes. En win7 o Vista, busque cmd.exe ejecutándose como administrador en C:\system\system32 y luego ingrese net start npf para iniciar el servicio npf. Reinicie Wireshark y podrá tomar el paquete. También puede realizar algunas configuraciones antes de tomar el paquete, como se muestra en la imagen roja de arriba, haga clic para ingresar al cuadro de diálogo de configuración. Las configuraciones específicas son las siguientes: Interfaz: especifique en qué interfaz (tarjeta de red) capturar paquetes (el sistema seleccionará automáticamente una tarjeta de red). Límite por paquete: Limita el tamaño de cada paquete, por defecto no hay límite. Capturar paquetes en modo promiscuo: si se debe activar el modo promiscuo. Si está abierto, toma todas las bolsas. En términos generales, sólo necesita escuchar los paquetes recibidos o enviados por esta máquina, por lo que debe desactivar esta opción. filtro: filtro. Obtenga solo paquetes que coincidan con las reglas de filtrado. Archivo: puede ingresar un nombre de archivo para escribir los paquetes capturados en el archivo especificado. Usar búfer circular: si se debe utilizar el búfer circular. De forma predeterminada, no se utiliza, simplemente sigue capturando paquetes. El almacenamiento en búfer circular solo funciona cuando se escribe en un archivo. Si utiliza el almacenamiento en búfer circular, también deberá establecer la cantidad de archivos y el tamaño de los archivos que se revertirán. Actualizar la lista de paquetes en tiempo real: si esta casilla de verificación está marcada, cada paquete se puede mostrar en tiempo real a medida que se intercepta, en lugar de mostrar todos los paquetes interceptados después del proceso de rastreo. Haga clic en el botón Aceptar para comenzar a capturar paquetes y el sistema mostrará las estadísticas de los diferentes paquetes recibidos. Después de hacer clic en el botón Detener para detener la captura del paquete, los resultados del análisis de la captura del paquete se mostrarán en el panel, como se muestra en la siguiente figura: Para que la captura del paquete sea más específica, el chat de video se inicia antes que el paquete. captura, porque el vídeo utiliza el protocolo UDP. Por lo tanto, la mayoría de las capturas de paquetes son protocolos UDP. 3. Descripción de los resultados de la captura de paquetes La ventana completa de resultados de la captura de paquetes de Wireshark se divide en tres partes: la parte superior es la lista de paquetes, que se utiliza para mostrar información resumida de cada paquete interceptado; la del medio es el árbol de protocolos, que se utiliza; para mostrar la información del protocolo seleccionado al que pertenece el paquete de datos; en la parte inferior está el contenido del paquete de datos en forma hexadecimal, que se utiliza para representar la forma final del paquete de datos cuando se transmite en la capa física. Wireshark puede analizar fácilmente paquetes de datos interceptados, incluida la dirección de origen, la dirección de destino, el protocolo, etc. En la lista de paquetes que se muestra arriba, la primera columna es el número (como el primer paquete), la segunda columna es el tiempo de interceptación (0.000000) y la tercera columna es la dirección de origen (115.5438+055.39.93). El destino de la cuarta columna es la dirección de destino (115.155.39.112), el protocolo de la quinta columna es el protocolo utilizado por este paquete (aquí está el protocolo UDP) y la información de la sexta columna es otra información, incluido el número de puerto de origen. y número de puerto de destino (puerto de origen: 58438). En el medio está el árbol de protocolos, como se muestra en la siguiente figura: A través de este árbol de protocolos, puede obtener más información sobre los paquetes de datos interceptados, como la dirección MAC del host (Ethernet II), la dirección IP (protocolo de Internet), UDP. número de puerto (protocolo de datagrama de usuario)) y el contenido específico (datos) del protocolo UDP. La parte inferior es el contenido específico del paquete de datos que se muestra en hexadecimal, como se muestra en la figura: Esta es la forma final del paquete de datos interceptado cuando se transmite en el medio físico. Cuando se selecciona una fila en el árbol de protocolos, también se seleccionará su código hexadecimal correspondiente, de modo que se puedan analizar fácilmente los paquetes de datos de varios protocolos. 4. Verifique el orden de bytes de la red. El flujo de datos en la red es un flujo de bytes. Para valores de varios bytes (como el decimal 1014 = 0x03 f6), qué byte debe transmitirse primero: los bits 03 de orden superior o los bits f6 de orden inferior. Es decir, cuando el receptor recibe el primer byte, lo trata como alto o bajo. La siguiente es una explicación detallada a través de capturas de pantalla: La parte inferior es la forma final del flujo de bytes transmitido en el medio físico, todo representado por 16.