热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

gdb调试之–readbyothersession等待事件的重现

数据库|mysql教程gdb,试之,--readbyothersession,等待数据库-mysql教程类photoshop源码,vscode感叹号补全,ubuntu中nano,指

数据库|mysql教程gdb调试之--readbyothersession等待事件的重现
gdb,试之,–readbyothersession,等待
数据库-mysql教程
类photoshop源码,vscode感叹号补全,ubuntu 中nano,指定jdk启动tomcat,学生小型爬虫,php 表单管理系统,手机端seo如何做,网站模板源码是不是网站源码,dz克米19楼模板lzw
转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/18461845 发生read by other session 等待事件,肯定是两个会话同时物理读同一个数据块,假设有两个会话,会话1发生物理读,会话2正要去物理读发现会话1正在物读理产生,此时会话2发生等待,
手机端商城源码,vscode自动添加空格插件,ubuntu驱动下载,tomcat 6 jvm,关闭sqlite,网页设计 合同,数据库打开远程连接,织梦本地上传到服务器,discuz插件目录,前端框架控件,游记爬虫,php 大转盘,武汉seo公司哪家好,插件框架springboot,标签布局css,手机 登录asp网站,网页模板百度云盘,cms 专题模板,phpcms 后台模板修改,产品列表html5页面,delphi商品进货管理系统代码,asp程序提交进度条lzw
activex控件 源码,vscode 保存即格式化,ubuntu美化macos,tomcat导出乱码问题,ffmpeg网络爬虫,php开发硬件,百度seo软件推广工具,wap网站模板下载lzw
转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/18461845

发生read by other session 等待事件,肯定是两个会话同时物理读同一个数据块,假设有两个会话,会话1发生物理读,会话2正要去物理读发现会话1正在物读理产生,此时会话2发生等待,此等待就是read by other session 等待事件。

实验步骤如下:

gyj@OCM> select spid from v$session s,v$process p where s.paddr=p.addr and sid in(select distinct sid from v$mystat);SPID------------------------7376

2、刷新buffer cache,目的就是让select发生物理读

gyj@OCM> alter system flush buffer_cache;System altered.

3、通过进程号7376,打开gdb

[oracle@mydb ~]$ gdb $ORACLE_HOME/bin/oracle 7376GNU gdb Fedora (6.8-27.el5)Copyright (C) 2008 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law. Type "show copying"and "show warranty" for details.This GDB was configured as "x86_64-redhat-linux-gnu"...(no debugging symbols found)Attaching to program: /u01/app/oracle/product/11.2.0/bin/oracle, process 7376Reading symbols from /u01/app/oracle/product/11.2.0/lib/libodm11.so...(no debugging symbols found)...done.Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libodm11.soReading symbols from /u01/app/oracle/product/11.2.0/lib/libcell11.so...done.Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libcell11.soReading symbols from /u01/app/oracle/product/11.2.0/lib/libskgxp11.so...done.Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libskgxp11.soReading symbols from /lib64/librt.so.1...done.Loaded symbols for /lib64/librt.so.1Reading symbols from /u01/app/oracle/product/11.2.0/lib/libnnz11.so...done.Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libnnz11.soReading symbols from /u01/app/oracle/product/11.2.0/lib/libclsra11.so...done.Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libclsra11.soReading symbols from /u01/app/oracle/product/11.2.0/lib/libdbcfg11.so...done.Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libdbcfg11.soReading symbols from /u01/app/oracle/product/11.2.0/lib/libhasgen11.so...done.Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libhasgen11.soReading symbols from /u01/app/oracle/product/11.2.0/lib/libskgxn2.so...done.Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libskgxn2.soReading symbols from /u01/app/oracle/product/11.2.0/lib/libocr11.so...done.Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libocr11.soReading symbols from /u01/app/oracle/product/11.2.0/lib/libocrb11.so...done.Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libocrb11.soReading symbols from /u01/app/oracle/product/11.2.0/lib/libocrutl11.so...done.Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libocrutl11.soReading symbols from /usr/lib64/libaio.so.1...done.Loaded symbols for /usr/lib64/libaio.so.1Reading symbols from /lib64/libdl.so.2...done.Loaded symbols for /lib64/libdl.so.2Reading symbols from /lib64/libm.so.6...done.Loaded symbols for /lib64/libm.so.6Reading symbols from /lib64/libpthread.so.0...done.[Thread debugging using libthread_db enabled][New Thread 0x2b0b8fef0910 (LWP 7376)]Loaded symbols for /lib64/libpthread.so.0Reading symbols from /lib64/libnsl.so.1...done.Loaded symbols for /lib64/libnsl.so.1Reading symbols from /lib64/libc.so.6...done.Loaded symbols for /lib64/libc.so.6Reading symbols from /lib64/ld-linux-x86-64.so.2...done.Loaded symbols for /lib64/ld-linux-x86-64.so.2Reading symbols from /usr/lib64/libnuma.so.1...done.Loaded symbols for /usr/lib64/libnuma.so.1Reading symbols from /lib64/libnss_files.so.2...done.Loaded symbols for /lib64/libnss_files.so.2Reading symbols from /u01/app/oracle/product/11.2.0/lib/libnque11.so...done.Loaded symbols for /u01/app/oracle/product/11.2.0/lib/libnque11.so0x0000003f0d40d290 in __read_nocancel () from /lib64/libpthread.so.0(gdb)

4、在会话1,执行select语句,此时select被阻塞

gyj@OCM> select * from gyj_test where id=1;

5、在gdb设断点,用等待事件的函数,并运行

(gdb) b kslwtbctxBreakpoint 1 at 0x8f9a5c2(gdb) cContinuing.

6、查等待事件kslwtbctx函数的第一个参数,用命令info all-register显示寄存器

(gdb) info all-registerrax 0x62657100 1650815232rbx 0x15c 348rcx 0x0 0rdx 0x1 1rsi 0x7a59 31321rdi 0x7fff1c576d40 140733668879680rbp 0x7fff1c576ce0 0x7fff1c576ce0rsp 0x7fff1c576ce0 0x7fff1c576ce0r8 0x2 2r9 0x25 37r10 0x7 7r11 0x0 0r12 0x0 0r13 0xbb0c348 196133704r14 0xbb09d40 196123968r15 0x1 1rip 0x8f9a5c2 0x8f9a5c2 eflags 0x246 [ PF ZF IF ]cs 0x33 51ss 0x2b 43ds 0x0 0es 0x0 0fs 0x0 0gs 0x0 0st0 0 (raw 0x00000000000000000000)---Type to continue, or q to quit---st1 0 (raw 0x00000000000000000000)st2 0 (raw 0x00000000000000000000)st3 0 (raw 0x00000000000000000000)st4 0 (raw 0x00000000000000000000)st5 0 (raw 0x00000000000000000000)st6 73280 (raw 0x400f8f20000000000000)st7 73280 (raw 0x400f8f20000000000000)fctrl 0x27f 639fstat 0x0 0ftag 0xffff 65535fiseg 0x0 0fioff 0x9394e95 154750613foseg 0x7fff 32767fooff 0x1c573f50 475479888fop 0x0 0

8、用x/32命令查内存中32个字节

gdb) x/32 0x7fff1c576d400x7fff1c576d40: 0x1c577a59 0x00007fff 0x1c576e50 0x00007fff0x7fff1c576d50: 0x1c576ee0 0x00007fff 0x0918adf2 0x000000000x7fff1c576d60: 0x00000000 0x00000000 0x00000000 0x000000000x7fff1c576d70: 0x00000000 0x00000001 0x00000000 0x000000000x7fff1c576d80: 0x002adb17 0x00000000 0x00000000 0x000000000x7fff1c576d90: 0x00000000 0x00000000 0x00000001 0x000000000x7fff1c576da0: 0x09b958cc 0x00000000 0x0000015c 0x000000000x7fff1c576db0: 0x7fffffff 0x00000000 0x62657100 0x00000000

9、找到0x0000015c,通过此等待事件号,找等待事件

gyj@OCM> select name from v$event_name where event# in(select to_number('15c','xxxxxxxxxxxxxx') from dual);NAME----------------------------------------------------------------SQL*Net message to client

10、重复第5、6、7、8、9步(注用从第5步的c命令开始)

(gdb) cContinuing.Breakpoint 1, 0x0000000008f9a5c2 in kslwtbctx ()(gdb) info all-registerrax 0x0 0rbx 0x2000 8192rcx 0x0 0rdx 0x0 0rsi 0x0 0rdi 0x7fff1c574c38 140733668871224rbp 0x7fff1c574970 0x7fff1c574970rsp 0x7fff1c574970 0x7fff1c574970r8 0x5bbb295 96187029r9 0x2f8b5f0 49853936r10 0x52da848e 1390052494r11 0x2b0b9057e7a8 47328666314664r12 0x99837da8 2575531432r13 0x0 0r14 0x0 0r15 0x99437498 2571334808rip 0x8f9a5c2 0x8f9a5c2 eflags 0x246 [ PF ZF IF ]cs 0x33 51ss 0x2b 43ds 0x0 0es 0x0 0fs 0x0 0gs 0x0 0st0 0 (raw 0x00000000000000000000)---Type to continue, or q to quit---st1 0 (raw 0x00000000000000000000)st2 0 (raw 0x00000000000000000000)st3 0 (raw 0x00000000000000000000)st4 0 (raw 0x00000000000000000000)st5 0 (raw 0x00000000000000000000)st6 73280 (raw 0x400f8f20000000000000)st7 73280 (raw 0x400f8f20000000000000)fctrl 0x27f 639fstat 0x0 0ftag 0xffff 65535fiseg 0x0 0fioff 0x9394e95 154750613foseg 0x7fff 32767fooff 0x1c573f50 475479888fop 0x0 0xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x54, 0x3, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x354, 0x1, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x10354, 0x0, 0x0}, v2_int64 = { 0x1035400000000, 0x0}, uint128 = 0x00000000000000000001035400000000}xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x64, 0x0 }, v8_int16 = {0x64, 0x0, ---Type to continue, or q to quit--- 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x64, 0x0, 0x0, 0x0}, v2_int64 = {0x64, 0x0}, uint128 = 0x00000000000000000000000000000064}xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x32, 0xa3, 0xd7, 0x2, 0x0 }, v8_int16 = {0xa332, 0x2d7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x2d7a332, 0x0, 0x0, 0x0}, v2_int64 = {0x2d7a332, 0x0}, uint128 = 0x00000000000000000000000002d7a332}xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xda, 0x87, 0xd7, 0x2, 0x0 }, v8_int16 = {0x87da, 0x2d7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x2d787da, 0x0, 0x0, 0x0}, v2_int64 = {0x2d787da, 0x0}, uint128 = 0x00000000000000000000000002d787da}xmm8 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}xmm9 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}xmm10 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}xmm11 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}xmm12 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x18, 0xe, 0x73, 0x90, 0xb, 0x2b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0xe18, 0x9073, 0x2b0b, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x90730e18, 0x2b0b, 0x0, 0x0}, v2_int64 = {0x2b0b90730e18, 0x0}, uint128 = 0x000000000000000000002b0b90730e18}xmm13 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}xmm14 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}xmm15 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0 }, v8_int16 = {0x0, 0x0, 0x0, 0x0, ---Type to continue, or q to quit--- 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}mxcsr 0x1fa1 [ IE PE IM DM ZM OM UM PM ](gdb) (gdb) x/32 0x7fff1c574c380x7fff1c574c38: 0x08f97a59 0x00000000 0x9079c6d8 0x00002b0b0x7fff1c574c48: 0x90742970 0x00002b0b 0x9079c748 0x00002b0b0x7fff1c574c58: 0x1c574df0 0x00007fff 0x9079c748 0x00002b0b0x7fff1c574c68: 0x9079c6d8 0x00002b0b 0x00000000 0x000000000x7fff1c574c78: 0x00000000 0x00000000 0x00000013 0x200000000x7fff1c574c88: 0x00000000 0x00000000 0x00000001 0x000000000x7fff1c574c98: 0x0a0fcd50 0x00000000 0x00000092 0x000000000x7fff1c574ca8: 0x7fffffff 0x00000000 0x00000006 0x00000000(gdb)

gyj@OCM> gyj@OCM> select name from v$event_name where event# in(select to_number('92','xxxxxxxxxxxxxx') from dual);NAME----------------------------------------------------------------db file sequential read

gyj@OCM> select sid from v$mystat where rownum=1; SID---------- 146 gyj@OCM> select * from gyj_test where id=1;

sys@OCM> select sid ,event from v$session_wait where sid=146 and wait_class'Idle'; SID EVENT---------- ---------------------------------------------------------------- 146 read by other session


哈哈。。。终于发现了read by other session等待事件,以后可以用同样的方法去研究其它等待事件!


推荐阅读
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • mui框架offcanvas侧滑超出部分隐藏无法滚动如何解决
    web前端|js教程off-canvas,部分,超出web前端-js教程mui框架中off-canvas侧滑的一个缺点就是无法出现滚动条,因为它主要用途是设置类似于qq界面的那种格 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • PHP函数实现分页含文本分页和数字分页【PHP】
    后端开发|php教程PHP,分页后端开发-php教程最近,在项目中要用到分页。分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装。影视网源码带充值系统,vscode配置根 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • PHPMailer邮件类邮件发送功能的使用教学及注意事项
    本文介绍了使用国外开源码PHPMailer邮件类实现邮件发送功能的简单教学,同时提供了一些注意事项。文章涵盖了字符集设置、发送HTML格式邮件、群发邮件以及避免类的重定义等方面的内容。此外,还提供了一些与PHP相关的资源和服务,如传奇手游游戏源码下载、vscode字体调整、数据恢复、Ubuntu实验环境搭建、北京爬虫市场、进阶PHP和SEO人员需注意的内容。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 在IDEA中运行CAS服务器的配置方法
    本文介绍了在IDEA中运行CAS服务器的配置方法,包括下载CAS模板Overlay Template、解压并添加项目、配置tomcat、运行CAS服务器等步骤。通过本文的指导,读者可以轻松在IDEA中进行CAS服务器的运行和配置。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
author-avatar
zy7ume
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有